1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-09 05:20:05 +00:00

fix(job-execution): fixed webout for SASJS server type

This commit is contained in:
Yury Shkoda
2023-05-04 10:57:24 +03:00
parent da7579a2bb
commit 2d6efa2437
4 changed files with 62 additions and 17 deletions

View File

@@ -1,6 +1,14 @@
import { RequestClient } from './RequestClient'
import { AxiosResponse } from 'axios'
import { SASJS_LOGS_SEPARATOR, getValidJson } from '../utils'
import { SASJS_LOGS_SEPARATOR } from '../utils'
interface SasjsParsedResponse<T> {
result: T
log: string
etag: string
status: number
printOutput?: string
}
/**
* Specific request client for SASJS.
@@ -27,7 +35,7 @@ export class SasjsRequestClient extends RequestClient {
protected parseResponse<T>(response: AxiosResponse<any>) {
const etag = response?.headers ? response.headers['etag'] : ''
let parsedResponse = {}
let log
let webout, log, printOutput
try {
if (typeof response.data === 'string') {
@@ -38,17 +46,26 @@ export class SasjsRequestClient extends RequestClient {
} catch {
if (response.data.includes(SASJS_LOGS_SEPARATOR)) {
const splittedResponse = response.data.split(SASJS_LOGS_SEPARATOR)
webout = splittedResponse[0]
if (webout) parsedResponse = webout
log = splittedResponse[1]
if (splittedResponse[0].trim())
parsedResponse = getValidJson(splittedResponse[0])
} else parsedResponse = response.data
printOutput = splittedResponse[2]
} else {
parsedResponse = response.data
}
}
return {
const returnResult: SasjsParsedResponse<T> = {
result: parsedResponse as T,
log,
etag,
status: response.status
}
if (printOutput) returnResult.printOutput = printOutput
return returnResult
}
}