1
0
mirror of https://github.com/sasjs/server.git synced 2026-07-23 21:25:29 +00:00
Commit Graph

76 Commits

Author SHA1 Message Date
YuryShkoda f84af4ac06 fix(api): return prompt error response instead of hanging when a SAS session fails
The SAS-runtime poll loop in processProgram only checked for
SessionState.completed, so a session that failed (e.g. via %abort;)
left the loop spinning on delay(50) forever - the request never
resolved, even though the SAS log had already been written. Split a single completed-on-either-outcome
flag into separate completed/failed states without updating this loop.

- processProgram now throws when session.state becomes 'failed'
- Execution.ts catches that, reads the complete log (guaranteed
  complete since the session's process has already exited by then),
  and throws a SessionExecutionError carrying it
- stp.ts/code.ts surface { ..., log } in the HTTP error response
- add unit tests for the poll loop and the log-enrichment logic, plus
  a mock SAS executable + end-to-end test exercising the real
  session/process pipeline without needing a SAS install
- add docs/diagrams covering the session lifecycle and the SAS
  execution handshake mechanism, for future context
2026-07-13 13:46:36 +03:00
Yury f94ddc0352 refactor(session): implemented session state 2024-10-30 15:33:06 +03:00
Yury Shkoda 167b14fed0 docs(log-separator): left comment 2023-07-24 18:29:20 +03:00
Yury Shkoda 8940f4dc47 fix(log-separator): log separator should always wrap log 2023-07-24 18:27:21 +03:00
Yury Shkoda 958ab9cad2 chore(execution): add includePrintOutput to ExecuteFileParams 2023-05-03 10:46:21 +03:00
Yury Shkoda 9aaffce820 fix(execute): fixed adding print output 2023-05-02 15:49:44 +03:00
Yury Shkoda e78f87f5c0 fix(execute): added atribute indicating stp api 2023-05-02 15:18:05 +03:00
Yury Shkoda 9f521634d9 chore(webout): added comment 2023-05-02 11:30:55 +03:00
Yury Shkoda 31df72ad88 fix(webout): fixed adding empty webout to response payload 2023-05-02 11:17:12 +03:00
Yury Shkoda 6dd2f4f876 fix(execution): removed empty webout from response 2023-04-28 17:25:30 +03:00
Yury Shkoda c0f38ba7c9 wip(print-output): added print output to response payload 2023-04-28 15:09:44 +03:00
sabhas 4dcee4b3c3 fix: update the content type header after the program has been executed 2022-11-28 23:53:36 +05:00
sabhas 112431a1b7 fix: update the response header of request to stp/execute routes 2022-11-27 21:57:26 +05:00
medjedovic 36be3a7d5e feat: mocking sas9 responses with JS STP 2022-10-17 18:31:08 +02:00
sabhas 98ea2ac9b9 fix: update response of /SASjsApi/stp/execute and /SASjsApi/code/execute 2022-08-19 15:06:39 +05:00
sabhas 882bedd5d5 fix: add a new variable _SASJS_WEBOUT_HEADERS to code.js and code.py 2022-08-18 01:19:47 +05:00
sabhas 0f19384999 fix: fileTree api response to include an additional attribute isFolder 2022-07-19 16:13:46 +05:00
Saad Jutt 3130fbeff0 chore: code refactor for getting session controller 2022-06-21 03:41:44 +05:00
Saad Jutt 2119e9de9a feat(certs): ENV variables updated and set CA Root for HTTPS server 2022-06-21 03:17:14 +05:00
sabhas f738a6d7a3 chore: splitted functions into different files 2022-06-19 07:07:39 +05:00
sabhas 23b6692f02 fix: code/execute controller logic to handle different runtimes 2022-06-17 20:01:50 +05:00
sabhas ab222cbaab chore: verify executable paths 2022-06-17 18:12:03 +05:00
sabhas 1790e10fc1 chore: code fixes 2022-06-16 22:14:47 +05:00
Saad Jutt c830f44e29 chore: code fixes 2022-06-14 16:48:58 +05:00
sabhas de9ed15286 chore: update error message when stored program not found 2022-06-13 20:51:44 +05:00
sabhas 325285f447 Merge branch 'main' into issue-184 2022-06-13 20:42:28 +05:00
Mihajlo Medjedovic 3fa2a7e2e3 fix: execution controller error details 2022-06-13 12:25:06 +00:00
medjedovic 8a617a73ae fix: execution controller better error handling 2022-06-13 14:01:12 +02:00
sabhas 16856165fb feat: create and inject code for uploaded files to code.js 2022-06-09 14:54:11 +05:00
sabhas 058b3b0081 feat: configure child process with writeStream to write logs to log file 2022-06-08 02:01:31 +05:00
sabhas 9d5a5e051f fix: no need to stringify _webout in preProgramVarStatements, developer should have _webout as string in actual code 2022-06-07 13:27:18 +05:00
sabhas dffe6d7121 fix: refactor code in executeFile method of session controller 2022-06-06 15:23:42 +05:00
sabhas e5a7674fa1 chore: refactor ExecutionController class to remove code duplications 2022-06-06 09:09:21 +05:00
sabhas c58666eb81 fix: convert single executeProgram method to two methods i.e. executeSASProgram and executeJSProgram 2022-06-03 17:26:21 +05:00
Saad Jutt c275db184e feat(web): added profile + edit + autoexec changes 2022-05-26 04:25:15 +05:00
Saad Jutt 2a7223ad7d feat(api): added autoexec + major type setting changes 2022-05-24 21:12:32 +05:00
Saad Jutt 80b33c7a18 fix: issue174 + issue175 + issue146 2022-05-23 19:24:56 +05:00
Saad Jutt 636301e664 fix: reqHeadrs.txt will contain headers to access APIs 2022-05-08 02:49:16 +05:00
Saad Jutt 527f70e90d fix(stp): read file in non-binary mode if debug one 2022-04-02 07:09:27 +05:00
Saad Jutt 3ff6f5e865 fix(stp): return log+webout for debug on 2022-04-02 07:06:09 +05:00
Saad Jutt dd56a95314 fix(stp): use same session from file upload 2022-03-24 18:06:28 +05:00
Saad Jutt d27e070fc8 fix: moved macros from codebase to drive
This reverts commit d2956fc641.
2022-03-23 19:38:29 +05:00
Saad Jutt d2956fc641 Revert "fix: moved macros from codebase to drive"
This reverts commit 9ac3191891.
2022-03-23 17:59:06 +05:00
Saad Jutt 9ac3191891 fix: moved macros from codebase to drive 2022-03-23 09:19:33 +05:00
Saad Jutt 8822de95df fix(stp): write original file name in sas code for upload 2022-03-18 06:57:52 +05:00
Saad Jutt 145ac45036 fix(stp): return plain/text header for GET & debug 2022-03-14 04:42:30 +05:00
Saad Jutt 95843fa4c7 fix: macros are available Sessions with SASAUTOS 2022-03-06 01:57:14 +05:00
Saad Jutt 5005f203b8 fix(stp): return json for webout 2022-02-21 04:13:04 +05:00
Saad Jutt ef41691e40 fix(file): fixes response headers 2022-02-20 06:18:44 +05:00
Saad Jutt 3e6234e601 fix: return buffer in case of file response 2022-02-20 05:40:03 +05:00