diff --git a/src/job-execution/WebJobExecutor.ts b/src/job-execution/WebJobExecutor.ts index 8e469a5..95dc201 100644 --- a/src/job-execution/WebJobExecutor.ts +++ b/src/job-execution/WebJobExecutor.ts @@ -118,20 +118,6 @@ export class WebJobExecutor extends BaseJobExecutor { // _executionTasks=true. Dummy file keeps the body non-empty const hasExecutionTasksFlag = sasJob.includes('_executionTasks=true') || config.runAsTask === true - if (config.serverType === ServerType.SasViya && hasExecutionTasksFlag) { - if (isNode()) { - ;(formData as NodeFormData).append('_sasjs_noop', '', { - filename: '_sasjs_noop.txt', - contentType: 'text/plain' - }) - } else { - ;(formData as FormData).append( - '_sasjs_noop', - new Blob([''], { type: 'text/plain' }), - '_sasjs_noop.txt' - ) - } - } if (data) { const stringifiedData = JSON.stringify(data) @@ -153,10 +139,21 @@ export class WebJobExecutor extends BaseJobExecutor { generateTableUploadForm(formData, data) formData = newFormData requestParams = { ...requestParams, ...params } + + if ( + config.serverType === ServerType.SasViya && + hasExecutionTasksFlag + ) { + addDummyFile(formData) + } } catch (e: any) { return Promise.reject(new ErrorResponse(e?.message, e)) } } + } else { + if (config.serverType === ServerType.SasViya && hasExecutionTasksFlag) { + addDummyFile(formData) + } } for (const key in requestParams) { @@ -283,3 +280,18 @@ export class WebJobExecutor extends BaseJobExecutor { return uri } } + +function addDummyFile(formData: NodeFormData | FormData) { + if (isNode()) { + ;(formData as NodeFormData).append('_sasjs_noop', '', { + filename: '_sasjs_noop.txt', + contentType: 'text/plain' + }) + } else { + ;(formData as FormData).append( + '_sasjs_noop', + new Blob([''], { type: 'text/plain' }), + '_sasjs_noop.txt' + ) + } +}