From 1d1ef7179e0c0f0af04c647d6883c83bc4109212 Mon Sep 17 00:00:00 2001 From: Mihajlo Date: Fri, 25 Mar 2022 18:05:47 +0100 Subject: [PATCH] fix: file upload on SASJS SERVER Also fixed appendRequest when debug on while on SASJS SERVER --- package-lock.json | 14 +++++++------- package.json | 2 +- src/job-execution/FileUploader.ts | 10 ++++++++++ src/request/RequestClient.ts | 18 ++++++++++++++++++ 4 files changed, 36 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 134f7f9..9d896d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "hasInstallScript": true, "license": "ISC", "dependencies": { - "@sasjs/utils": "2.40.0", + "@sasjs/utils": "2.40.1", "axios": "0.26.0", "axios-cookiejar-support": "1.0.1", "form-data": "4.0.0", @@ -1142,9 +1142,9 @@ } }, "node_modules/@sasjs/utils": { - "version": "2.40.0", - "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.40.0.tgz", - "integrity": "sha512-U0y/eqRlvfkMHmKDlr1xmeN+Rask7TnJPuRpOz71P8QpGYTw1M9AyZvzRSk503p4KCJb8ysdcqXyGVLfhuoM+A==", + "version": "2.40.1", + "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.40.1.tgz", + "integrity": "sha512-wWYElDH71bSZTdZ5V38743vAnw2EPDhzH7+1s7zxINHpaQWK/qrDldI0vgVFLeGpxVU0D7WPZ/ltG6MoE2obeg==", "hasInstallScript": true, "dependencies": { "@types/fs-extra": "9.0.13", @@ -13870,9 +13870,9 @@ } }, "@sasjs/utils": { - "version": "2.40.0", - "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.40.0.tgz", - "integrity": "sha512-U0y/eqRlvfkMHmKDlr1xmeN+Rask7TnJPuRpOz71P8QpGYTw1M9AyZvzRSk503p4KCJb8ysdcqXyGVLfhuoM+A==", + "version": "2.40.1", + "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.40.1.tgz", + "integrity": "sha512-wWYElDH71bSZTdZ5V38743vAnw2EPDhzH7+1s7zxINHpaQWK/qrDldI0vgVFLeGpxVU0D7WPZ/ltG6MoE2obeg==", "requires": { "@types/fs-extra": "9.0.13", "@types/prompts": "2.0.13", diff --git a/package.json b/package.json index e708586..f1b8a52 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ }, "main": "index.js", "dependencies": { - "@sasjs/utils": "2.40.0", + "@sasjs/utils": "2.40.1", "axios": "0.26.0", "axios-cookiejar-support": "1.0.1", "form-data": "4.0.0", diff --git a/src/job-execution/FileUploader.ts b/src/job-execution/FileUploader.ts index 868cfa6..a93d057 100644 --- a/src/job-execution/FileUploader.ts +++ b/src/job-execution/FileUploader.ts @@ -99,7 +99,17 @@ export class FileUploader extends BaseJobExecutor { ? parseWeboutResponse(res.result, uploadUrl) : res.result break + case ServerType.Sasjs: + if (typeof res.result._webout === 'object') { + jsonResponse = res.result._webout + } else { + const webout = parseWeboutResponse(res.result._webout, uploadUrl) + jsonResponse = getValidJson(webout) + } + break } + } else if (this.serverType === ServerType.Sasjs) { + jsonResponse = getValidJson(res.result._webout) } else { jsonResponse = typeof res.result === 'string' diff --git a/src/request/RequestClient.ts b/src/request/RequestClient.ts index 3645c08..462fb21 100644 --- a/src/request/RequestClient.ts +++ b/src/request/RequestClient.ts @@ -131,6 +131,24 @@ export class RequestClient implements HttpClient { } else { sasWork = response.log } + } else if (response?.result?.log) { + //In this scenario we know we got the response from SASJS server + //Log is array of `{ line: '' }` so we need to convert it back to text + //To be able to parse it with current functions. + let log: string = '' + + if (typeof log !== 'string') { + log = response.result.log.map((logLine: any) => logLine.line).join('\n') + } + + sourceCode = parseSourceCode(log) + generatedCode = parseGeneratedCode(log) + + if (response?.result?._webout) { + sasWork = response.result._webout.WORK + } else { + sasWork = log + } } else if (response?.result) { sourceCode = parseSourceCode(response.result) generatedCode = parseGeneratedCode(response.result)