diff --git a/README.md b/README.md index 6464baa..ae597ac 100644 --- a/README.md +++ b/README.md @@ -49,19 +49,19 @@ Example contents of a `.env` file: ``` # options: [desktop|server] default: `desktop` -MODE=desktop +MODE= # options: [disable|enable] default: `disable` for `server` & `enable` for `desktop` -CORS=disable +CORS= # options: space separated urls WHITELIST= # options: [http|https] default: http -PROTOCOL=http +PROTOCOL= # default: 5000 -PORT=5000 +PORT= # optional diff --git a/api/src/controllers/internal/Execution.ts b/api/src/controllers/internal/Execution.ts index ff6bdcd..a78ef47 100644 --- a/api/src/controllers/internal/Execution.ts +++ b/api/src/controllers/internal/Execution.ts @@ -8,7 +8,7 @@ import { moveFile, readFileBinary } from '@sasjs/utils' -import { PreProgramVars, TreeNode } from '../../types' +import { PreProgramVars, Session, TreeNode } from '../../types' import { extractHeaders, generateFileUploadSasCode, @@ -39,7 +39,8 @@ export class ExecutionController { preProgramVariables: PreProgramVars, vars: ExecutionVars, otherArgs?: any, - returnJson?: boolean + returnJson?: boolean, + session?: Session ) { if (!(await fileExists(programPath))) throw 'ExecutionController: SAS file does not exist.' @@ -51,7 +52,8 @@ export class ExecutionController { preProgramVariables, vars, otherArgs, - returnJson + returnJson, + session ) } @@ -60,11 +62,13 @@ export class ExecutionController { preProgramVariables: PreProgramVars, vars: ExecutionVars, otherArgs?: any, - returnJson?: boolean + returnJson?: boolean, + sessionByFileUpload?: Session ): Promise { const sessionController = getSessionController() - const session = await sessionController.getSession() + const session = + sessionByFileUpload ?? (await sessionController.getSession()) session.inUse = true session.consumed = true diff --git a/api/src/controllers/stp.ts b/api/src/controllers/stp.ts index 93a4654..abed562 100644 --- a/api/src/controllers/stp.ts +++ b/api/src/controllers/stp.ts @@ -185,7 +185,8 @@ const executeReturnJson = async ( getPreProgramVariables(req), { ...req.query, ...req.body }, { filesNamesMap: filesNamesMap }, - true + true, + req.sasSession )) as ExecuteReturnJson let weboutRes: string | IRecordOfAny = webout