qcobjects-cli 2.5.141-beta → 2.5.144-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/.cursor/rules/collaboration-features.mdc +25 -0
  2. package/.cursor/rules/development-guidelines.mdc +37 -0
  3. package/.cursor/rules/project-structure.mdc +36 -0
  4. package/.dockerignore +0 -0
  5. package/.github/FUNDING.yml +0 -0
  6. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  7. package/.github/ISSUE_TEMPLATE/custom.md +0 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  9. package/.github/ISSUE_TEMPLATE/issue-template.md +0 -0
  10. package/.github/workflows/ci.yml +26 -0
  11. package/.github/workflows/codeql-analysis.yml +0 -0
  12. package/.github/workflows/main-pr-source.yml +26 -0
  13. package/.github/workflows/npmpublish-beta.yml +20 -13
  14. package/.github/workflows/npmpublish-lts.yml +20 -13
  15. package/.github/workflows/npmpublish-main.yml +19 -12
  16. package/.github/workflows/open-pr-to-development.yml +70 -0
  17. package/.gitlab-ci.yml +0 -0
  18. package/.opencode/instructions/git-workflow.md +46 -0
  19. package/.pre-commit-config.yaml +9 -0
  20. package/AGENTS.md +59 -0
  21. package/CHANGELOG.md +0 -0
  22. package/README.md +75 -0
  23. package/VERSION +1 -1
  24. package/build-esbuild-esm.js +180 -0
  25. package/build-esbuild.js +182 -208
  26. package/deno.json +0 -0
  27. package/dev-requirements.txt +5 -0
  28. package/eslint.config.mjs +0 -0
  29. package/mod.ts +0 -0
  30. package/package.json +48 -47
  31. package/public/browser/api-client_services.js.map +1 -1
  32. package/public/browser/backend/backend-microservice-static.js +211 -219
  33. package/public/browser/backend/backend-microservice-static.js.map +2 -2
  34. package/public/browser/backend/backend-php.js +227 -231
  35. package/public/browser/backend/backend-php.js.map +3 -3
  36. package/public/browser/cli-commands-build-esbuild.js +326 -0
  37. package/public/browser/cli-commands-build-esbuild.js.map +7 -0
  38. package/public/browser/cli-commands-build-typescript.js +114 -0
  39. package/public/browser/cli-commands-build-typescript.js.map +7 -0
  40. package/public/browser/cli-commands-jira.js.map +1 -1
  41. package/public/browser/cli-commands-version.js.map +1 -1
  42. package/public/browser/cli-commands.js +4 -0
  43. package/public/browser/cli-commands.js.map +2 -2
  44. package/public/browser/cli-main.js.map +1 -1
  45. package/public/browser/client_services.js.map +1 -1
  46. package/public/browser/collab-server.js.map +1 -1
  47. package/public/browser/common-pipelog.js.map +1 -1
  48. package/public/browser/defaultsettings.js +68 -27
  49. package/public/browser/defaultsettings.js.map +3 -3
  50. package/public/browser/enterprise-commands.js.map +1 -1
  51. package/public/browser/main-file.js.map +1 -1
  52. package/public/browser/main-http-gae-server.js +3 -0
  53. package/public/browser/main-http-gae-server.js.map +2 -2
  54. package/public/browser/main-http-server.js +3 -0
  55. package/public/browser/main-http-server.js.map +2 -2
  56. package/public/browser/main-http2-server.js +3 -0
  57. package/public/browser/main-http2-server.js.map +2 -2
  58. package/public/browser/qcobjects-cli.js.map +1 -1
  59. package/public/browser/qcobjects-collab.js +16 -24
  60. package/public/browser/qcobjects-collab.js.map +2 -2
  61. package/public/browser/qcobjects-createcert.js +46 -54
  62. package/public/browser/qcobjects-createcert.js.map +2 -2
  63. package/public/browser/qcobjects-gae-http-server.js +16 -24
  64. package/public/browser/qcobjects-gae-http-server.js.map +2 -2
  65. package/public/browser/qcobjects-http-server.js +16 -24
  66. package/public/browser/qcobjects-http-server.js.map +2 -2
  67. package/public/browser/qcobjects-http2-server.js +21 -30
  68. package/public/browser/qcobjects-http2-server.js.map +2 -2
  69. package/public/browser/qcobjects-shell.js.map +1 -1
  70. package/public/browser/templates/apps/spa-local.html +0 -0
  71. package/public/browser/templates/apps/spa-local.js +0 -0
  72. package/public/browser/templates/pwa/sw.js +0 -0
  73. package/public/browser/types/global/index.d.js +0 -9
  74. package/public/browser/types/global/index.d.js.map +3 -3
  75. package/public/cjs/api-client_services.js +74 -0
  76. package/public/cjs/api-client_services.js.map +1 -0
  77. package/public/cjs/backend/backend-microservice-static.js +255 -0
  78. package/public/cjs/backend/backend-microservice-static.js.map +1 -0
  79. package/public/cjs/backend/backend-php.js +317 -0
  80. package/public/cjs/backend/backend-php.js.map +1 -0
  81. package/public/cjs/cli-commands-build-esbuild.js +341 -0
  82. package/public/cjs/cli-commands-build-esbuild.js.map +1 -0
  83. package/public/cjs/cli-commands-build-typescript.js +127 -0
  84. package/public/cjs/cli-commands-build-typescript.js.map +1 -0
  85. package/public/cjs/cli-commands-jira.js +115 -0
  86. package/public/cjs/cli-commands-jira.js.map +1 -0
  87. package/public/cjs/cli-commands-publish-static.js +108 -0
  88. package/public/cjs/cli-commands-publish-static.js.map +1 -0
  89. package/public/cjs/cli-commands-version.js +250 -0
  90. package/public/cjs/cli-commands-version.js.map +1 -0
  91. package/public/cjs/cli-commands.js +73 -0
  92. package/public/cjs/cli-commands.js.map +1 -0
  93. package/public/cjs/cli-main.js +487 -0
  94. package/public/cjs/cli-main.js.map +1 -0
  95. package/public/cjs/client_services.js +80 -0
  96. package/public/cjs/client_services.js.map +1 -0
  97. package/public/cjs/collab-server.js +404 -0
  98. package/public/cjs/collab-server.js.map +1 -0
  99. package/public/cjs/common-pipelog.js +57 -0
  100. package/public/cjs/common-pipelog.js.map +1 -0
  101. package/public/cjs/defaultsettings.js +496 -0
  102. package/public/cjs/defaultsettings.js.map +1 -0
  103. package/public/cjs/enterprise-commands.js +173 -0
  104. package/public/cjs/enterprise-commands.js.map +1 -0
  105. package/public/cjs/index.js +38 -0
  106. package/public/cjs/index.js.map +1 -0
  107. package/public/cjs/main-file.js +161 -0
  108. package/public/cjs/main-file.js.map +1 -0
  109. package/public/cjs/main-http-gae-server.js +498 -0
  110. package/public/cjs/main-http-gae-server.js.map +1 -0
  111. package/public/cjs/main-http-server.js +540 -0
  112. package/public/cjs/main-http-server.js.map +1 -0
  113. package/public/cjs/main-http2-server.js +398 -0
  114. package/public/cjs/main-http2-server.js.map +1 -0
  115. package/public/cjs/qcobjects-cli.js +105 -0
  116. package/public/cjs/qcobjects-cli.js.map +1 -0
  117. package/public/cjs/qcobjects-collab.js +51 -0
  118. package/public/cjs/qcobjects-collab.js.map +1 -0
  119. package/public/cjs/qcobjects-createcert.js +89 -0
  120. package/public/cjs/qcobjects-createcert.js.map +1 -0
  121. package/public/cjs/qcobjects-gae-http-server.js +51 -0
  122. package/public/cjs/qcobjects-gae-http-server.js.map +1 -0
  123. package/public/cjs/qcobjects-http-server.js +51 -0
  124. package/public/cjs/qcobjects-http-server.js.map +1 -0
  125. package/public/cjs/qcobjects-http2-server.js +54 -0
  126. package/public/cjs/qcobjects-http2-server.js.map +1 -0
  127. package/public/cjs/qcobjects-shell.js +145 -0
  128. package/public/cjs/qcobjects-shell.js.map +1 -0
  129. package/public/cjs/templates/apps/spa-local.html +0 -0
  130. package/public/cjs/templates/apps/spa-local.js +0 -0
  131. package/public/cjs/templates/pwa/sw.js +0 -0
  132. package/public/esm/api-client_services.mjs.map +1 -1
  133. package/public/esm/backend/backend-microservice-static.mjs +207 -216
  134. package/public/esm/backend/backend-microservice-static.mjs.map +2 -2
  135. package/public/esm/backend/backend-php.mjs +228 -232
  136. package/public/esm/backend/backend-php.mjs.map +2 -2
  137. package/public/esm/cli-commands-build-esbuild.mjs +295 -0
  138. package/public/esm/cli-commands-build-esbuild.mjs.map +7 -0
  139. package/public/esm/cli-commands-build-typescript.mjs +83 -0
  140. package/public/esm/cli-commands-build-typescript.mjs.map +7 -0
  141. package/public/esm/cli-commands-jira.mjs +1 -1
  142. package/public/esm/cli-commands-jira.mjs.map +1 -1
  143. package/public/esm/cli-commands-version.mjs.map +1 -1
  144. package/public/esm/cli-commands.mjs +7 -3
  145. package/public/esm/cli-commands.mjs.map +2 -2
  146. package/public/esm/cli-main.mjs +6 -6
  147. package/public/esm/cli-main.mjs.map +1 -1
  148. package/public/esm/client_services.mjs.map +1 -1
  149. package/public/esm/collab-server.mjs.map +1 -1
  150. package/public/esm/common-pipelog.mjs.map +1 -1
  151. package/public/esm/defaultsettings.mjs +68 -27
  152. package/public/esm/defaultsettings.mjs.map +3 -3
  153. package/public/esm/enterprise-commands.mjs.map +1 -1
  154. package/public/esm/index.mjs +1 -1
  155. package/public/esm/main-file.mjs.map +1 -1
  156. package/public/esm/main-http-gae-server.mjs +5 -2
  157. package/public/esm/main-http-gae-server.mjs.map +2 -2
  158. package/public/esm/main-http-server.mjs +5 -2
  159. package/public/esm/main-http-server.mjs.map +2 -2
  160. package/public/esm/main-http2-server.mjs +5 -2
  161. package/public/esm/main-http2-server.mjs.map +2 -2
  162. package/public/esm/qcobjects-cli.mjs +2 -2
  163. package/public/esm/qcobjects-cli.mjs.map +1 -1
  164. package/public/esm/qcobjects-collab.mjs +14 -23
  165. package/public/esm/qcobjects-collab.mjs.map +2 -2
  166. package/public/esm/qcobjects-createcert.mjs +43 -52
  167. package/public/esm/qcobjects-createcert.mjs.map +2 -2
  168. package/public/esm/qcobjects-gae-http-server.mjs +14 -23
  169. package/public/esm/qcobjects-gae-http-server.mjs.map +2 -2
  170. package/public/esm/qcobjects-http-server.mjs +14 -23
  171. package/public/esm/qcobjects-http-server.mjs.map +2 -2
  172. package/public/esm/qcobjects-http2-server.mjs +21 -31
  173. package/public/esm/qcobjects-http2-server.mjs.map +2 -2
  174. package/public/esm/qcobjects-shell.mjs +1 -1
  175. package/public/esm/qcobjects-shell.mjs.map +1 -1
  176. package/public/esm/templates/apps/spa-local.html +0 -0
  177. package/public/esm/templates/apps/spa-local.js +0 -0
  178. package/public/esm/templates/pwa/sw.js +0 -0
  179. package/public/esm/types/global/index.d.mjs +0 -9
  180. package/public/esm/types/global/index.d.mjs.map +3 -3
  181. package/public/types/index.d.ts +29 -3
  182. package/spec/support/jasmine.json +0 -0
  183. package/spec/testsSpec.ts +0 -0
  184. package/src/api-client_services.ts +1 -1
  185. package/src/backend/backend-microservice-static.ts +196 -196
  186. package/src/backend/backend-php.ts +240 -245
  187. package/src/cli-commands-build-esbuild.ts +375 -0
  188. package/src/cli-commands-build-typescript.ts +139 -0
  189. package/src/cli-commands-jira.ts +1 -1
  190. package/src/cli-commands-publish-static.ts +0 -0
  191. package/src/cli-commands-version.ts +1 -1
  192. package/src/cli-commands.ts +3 -1
  193. package/src/cli-main.ts +1 -1
  194. package/src/client_services.ts +1 -1
  195. package/src/collab-server.ts +1 -1
  196. package/src/common-pipelog.ts +1 -1
  197. package/src/defaultsettings.ts +65 -19
  198. package/src/enterprise-commands.ts +1 -1
  199. package/src/index.ts +0 -0
  200. package/src/main-file.ts +1 -1
  201. package/src/main-http-gae-server.ts +6 -1
  202. package/src/main-http-server.ts +6 -1
  203. package/src/main-http2-server.ts +6 -1
  204. package/src/qcobjects-cli.ts +1 -1
  205. package/src/qcobjects-collab.ts +1 -1
  206. package/src/qcobjects-createcert.ts +1 -1
  207. package/src/qcobjects-gae-http-server.ts +1 -1
  208. package/src/qcobjects-http-server.ts +1 -1
  209. package/src/qcobjects-http2-server.ts +4 -5
  210. package/src/qcobjects-shell.ts +1 -1
  211. package/src/templates/apps/spa-local.html +0 -0
  212. package/src/templates/apps/spa-local.js +0 -0
  213. package/src/templates/pwa/sw.js +0 -0
  214. package/src/types/global/index.d.ts +0 -0
  215. package/transpile.js +0 -0
  216. package/tsconfig.d.json +0 -0
  217. package/tsconfig.jasmine.json +0 -0
  218. package/tsconfig.json +3 -3
  219. package/public/cjs/api-client_services.cjs +0 -79
  220. package/public/cjs/api-client_services.cjs.map +0 -7
  221. package/public/cjs/backend/backend-microservice-static.cjs +0 -245
  222. package/public/cjs/backend/backend-microservice-static.cjs.map +0 -7
  223. package/public/cjs/backend/backend-php.cjs +0 -301
  224. package/public/cjs/backend/backend-php.cjs.map +0 -7
  225. package/public/cjs/cli-commands-jira.cjs +0 -112
  226. package/public/cjs/cli-commands-jira.cjs.map +0 -7
  227. package/public/cjs/cli-commands-publish-static.cjs +0 -109
  228. package/public/cjs/cli-commands-publish-static.cjs.map +0 -7
  229. package/public/cjs/cli-commands-version.cjs +0 -252
  230. package/public/cjs/cli-commands-version.cjs.map +0 -7
  231. package/public/cjs/cli-commands.cjs +0 -45
  232. package/public/cjs/cli-commands.cjs.map +0 -7
  233. package/public/cjs/cli-main.cjs +0 -417
  234. package/public/cjs/cli-main.cjs.map +0 -7
  235. package/public/cjs/client_services.cjs +0 -86
  236. package/public/cjs/client_services.cjs.map +0 -7
  237. package/public/cjs/collab-server.cjs +0 -444
  238. package/public/cjs/collab-server.cjs.map +0 -7
  239. package/public/cjs/common-pipelog.cjs +0 -50
  240. package/public/cjs/common-pipelog.cjs.map +0 -7
  241. package/public/cjs/defaultsettings.cjs +0 -432
  242. package/public/cjs/defaultsettings.cjs.map +0 -7
  243. package/public/cjs/enterprise-commands.cjs +0 -175
  244. package/public/cjs/enterprise-commands.cjs.map +0 -7
  245. package/public/cjs/index.cjs +0 -36
  246. package/public/cjs/index.cjs.map +0 -7
  247. package/public/cjs/main-file.cjs +0 -194
  248. package/public/cjs/main-file.cjs.map +0 -7
  249. package/public/cjs/main-http-gae-server.cjs +0 -519
  250. package/public/cjs/main-http-gae-server.cjs.map +0 -7
  251. package/public/cjs/main-http-server.cjs +0 -585
  252. package/public/cjs/main-http-server.cjs.map +0 -7
  253. package/public/cjs/main-http2-server.cjs +0 -428
  254. package/public/cjs/main-http2-server.cjs.map +0 -7
  255. package/public/cjs/qcobjects-cli.cjs +0 -92
  256. package/public/cjs/qcobjects-cli.cjs.map +0 -7
  257. package/public/cjs/qcobjects-collab.cjs +0 -43
  258. package/public/cjs/qcobjects-collab.cjs.map +0 -7
  259. package/public/cjs/qcobjects-createcert.cjs +0 -75
  260. package/public/cjs/qcobjects-createcert.cjs.map +0 -7
  261. package/public/cjs/qcobjects-gae-http-server.cjs +0 -43
  262. package/public/cjs/qcobjects-gae-http-server.cjs.map +0 -7
  263. package/public/cjs/qcobjects-http-server.cjs +0 -43
  264. package/public/cjs/qcobjects-http-server.cjs.map +0 -7
  265. package/public/cjs/qcobjects-http2-server.cjs +0 -49
  266. package/public/cjs/qcobjects-http2-server.cjs.map +0 -7
  267. package/public/cjs/qcobjects-shell.cjs +0 -185
  268. package/public/cjs/qcobjects-shell.cjs.map +0 -7
  269. package/public/cjs/types/global/index.d.cjs +0 -2
  270. package/public/cjs/types/global/index.d.cjs.map +0 -7
  271. package/public/types/index.d.ts.map +0 -1
  272. package/src/index.cts +0 -2
  273. package/src/index.mts +0 -2
@@ -35,248 +35,248 @@ import fs from "node:fs";
35
35
  import path from "node:path";
36
36
  import { Package, BackendMicroservice, CONFIG, logger } from "qcobjects";
37
37
 
38
- const absolutePath = path.resolve(__dirname, "./");
38
+ const absolutePath = path.resolve(__dirname, "./");
39
39
 
40
40
 
41
- Package("com.qcobjects.backend.microservice.static", [
42
- class Microservice extends BackendMicroservice {
43
- stream: any;
44
- fileName: any;
45
- route: any;
46
- request: any;
47
- body!: void;
41
+ Package("com.qcobjects.backend.microservice.static", [
42
+ class Microservice extends BackendMicroservice {
43
+ stream: any;
44
+ fileName: any;
45
+ route: any;
46
+ request: any;
47
+ body!: void;
48
48
 
49
- finishWithBody() { }
50
- done() {
49
+ finishWithBody() { }
50
+ done() {
51
+ // read and send file content in the stream
52
+
53
+ const microservice = this;
54
+ const stream = microservice.stream;
55
+ const fileName = (!microservice.fileName.startsWith("/")) ? (`${process.cwd()}/${microservice.fileName}`) : (microservice.fileName);
56
+
57
+ const sendFileHTTP2 = function (stream: { respondWithFD: (arg0: any, arg1: { "content-length": any; "last-modified": any; "content-type": any; "cache-control": any; }) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; respond: (arg0: { ":status": number; "content-type": any; }) => void; write: (arg0: string) => void; }, fileName: string) {
51
58
  // read and send file content in the stream
52
59
 
53
- const microservice = this;
54
- const stream = microservice.stream;
55
- const fileName = (!microservice.fileName.startsWith("/")) ? (`${process.cwd()}/${microservice.fileName}`) : (microservice.fileName);
56
-
57
- const sendFileHTTP2 = function (stream: { respondWithFD: (arg0: any, arg1: { "content-length": any; "last-modified": any; "content-type": any; "cache-control": any; }) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; respond: (arg0: { ":status": number; "content-type": any; }) => void; write: (arg0: string) => void; }, fileName: string) {
58
- // read and send file content in the stream
59
-
60
- try {
61
- const fd = fs.openSync(fileName, "r");
62
- const stat = fs.fstatSync(fd);
63
- let headers = {
64
- "content-length": stat.size,
65
- "last-modified": stat.mtime.toUTCString(),
66
- "content-type": mime.getType(fileName),
67
- "cache-control": CONFIG.get("cacheControl", "max-age=31536000")
68
- };
69
- if (typeof microservice.route.responseHeaders !== "undefined") {
70
- headers = Object.assign(headers, microservice.route.responseHeaders);
71
- }
60
+ try {
61
+ const fd = fs.openSync(fileName, "r");
62
+ const stat = fs.fstatSync(fd);
63
+ let headers = {
64
+ "content-length": stat.size,
65
+ "last-modified": stat.mtime.toUTCString(),
66
+ "content-type": mime.getType(fileName),
67
+ "cache-control": CONFIG.get("cacheControl", "max-age=31536000")
68
+ };
69
+ if (typeof microservice.route.responseHeaders !== "undefined") {
70
+ headers = Object.assign(headers, microservice.route.responseHeaders);
71
+ }
72
72
 
73
- stream.respondWithFD(fd, headers);
73
+ stream.respondWithFD(fd, headers);
74
+ stream.on("close", () => {
75
+ logger.debug("closing file " + fileName);
76
+ fs.closeSync(fd);
77
+ });
78
+ stream.end();
79
+
80
+ } catch (e: any) {
81
+ logger.warn("[ERROR] Something went wrong when trying to send the response as file " + fileName);
82
+ if (e.errno == -2) {
83
+ const headers = {
84
+ ":status": 404,
85
+ "content-type": mime.getType(fileName)
86
+ };
87
+ stream.respond(headers);
88
+ stream.write("<h1>404 - FILE NOT FOUND</h1>");
74
89
  stream.on("close", () => {
75
90
  logger.debug("closing file " + fileName);
76
- fs.closeSync(fd);
77
91
  });
78
92
  stream.end();
79
-
80
- } catch (e: any) {
81
- logger.warn("[ERROR] Something went wrong when trying to send the response as file " + fileName);
82
- if (e.errno == -2) {
83
- const headers = {
84
- ":status": 404,
85
- "content-type": mime.getType(fileName)
86
- };
87
- stream.respond(headers);
88
- stream.write("<h1>404 - FILE NOT FOUND</h1>");
89
- stream.on("close", () => {
90
- logger.debug("closing file " + fileName);
91
- });
92
- stream.end();
93
- }
94
93
  }
94
+ }
95
95
 
96
- };
96
+ };
97
97
 
98
- const sendFileLegacyHTTP = function (stream: { writeHead: (arg0: number, arg1: { status: number; "Content-Type": string; }) => void; write: (arg0: string) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; }, fileName: string) {
99
- // read and send file content in the stream
100
- let headers;
101
- try {
102
- logger.info("trying to read " + fileName);
103
- const fd = fs.openSync(fileName, "r");
104
- const stat = fs.fstatSync(fd);
105
- headers = {
106
- "Content-Length": stat.size,
107
- "Last-Modified": stat.mtime.toUTCString(),
108
- "Content-Type": mime.getType(fileName),
109
- "Cache-Control": CONFIG.get("cacheControl", "max-age=31536000")
110
- };
111
- if (typeof microservice.route.responseHeaders !== "undefined") {
112
- headers = Object.assign(headers, microservice.route.responseHeaders);
113
- }
98
+ const sendFileLegacyHTTP = function (stream: { writeHead: (arg0: number, arg1: { status: number; "Content-Type": string; }) => void; write: (arg0: string) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; }, fileName: string) {
99
+ // read and send file content in the stream
100
+ let headers;
101
+ try {
102
+ logger.info("trying to read " + fileName);
103
+ const fd = fs.openSync(fileName, "r");
104
+ const stat = fs.fstatSync(fd);
105
+ headers = {
106
+ "Content-Length": stat.size,
107
+ "Last-Modified": stat.mtime.toUTCString(),
108
+ "Content-Type": mime.getType(fileName),
109
+ "Cache-Control": CONFIG.get("cacheControl", "max-age=31536000")
110
+ };
111
+ if (typeof microservice.route.responseHeaders !== "undefined") {
112
+ headers = Object.assign(headers, microservice.route.responseHeaders);
113
+ }
114
114
 
115
- logger.debug("closing file " + fileName);
116
- fs.closeSync(fd);
115
+ logger.debug("closing file " + fileName);
116
+ fs.closeSync(fd);
117
+
118
+ stream.writeHead(200, headers);
117
119
 
118
- stream.writeHead(200, headers);
120
+ stream.write(fs.readFileSync(fileName).toString());
121
+ stream.on("close", () => {
122
+ logger.info("closing static file", fileName);
123
+ });
119
124
 
120
- stream.write(fs.readFileSync(fileName).toString());
125
+ } catch (e: any) {
126
+ if (e.errno == -2) {
127
+ headers = {
128
+ "status": 404,
129
+ "Content-Type": "text/html"
130
+ };
131
+ stream.writeHead(404, headers);
132
+ stream.write("<h1>404 - FILE NOT FOUND</h1>");
121
133
  stream.on("close", () => {
122
- logger.info("closing static file", fileName);
134
+ logger.info("closing static file with error: ", fileName);
123
135
  });
124
-
125
- } catch (e: any) {
126
- if (e.errno == -2) {
127
- headers = {
128
- "status": 404,
129
- "Content-Type": "text/html"
130
- };
131
- stream.writeHead(404, headers);
132
- stream.write("<h1>404 - FILE NOT FOUND</h1>");
133
- stream.on("close", () => {
134
- logger.info("closing static file with error: ", fileName);
135
- });
136
- }
137
- logger.warn(e);
138
- stream.end();
139
136
  }
137
+ logger.warn(e);
140
138
  stream.end();
141
-
142
- };
143
-
144
- if (typeof stream.respondWithFD !== "undefined") {
145
- sendFileHTTP2(stream, fileName);
146
- } else {
147
- sendFileLegacyHTTP(stream, fileName);
148
139
  }
140
+ stream.end();
141
+
142
+ };
149
143
 
144
+ if (typeof stream.respondWithFD !== "undefined") {
145
+ sendFileHTTP2(stream, fileName);
146
+ } else {
147
+ sendFileLegacyHTTP(stream, fileName);
150
148
  }
151
149
 
152
- static(method: string, data: any) {
153
- const microservice = this;
154
- const redirect_to = microservice.route.redirect_to;
155
- return new Promise<void>(function (resolve, reject) {
156
- const supported_methods = microservice.route.supported_methods;
157
- let _method_allowed_ = false;
158
- if (typeof supported_methods !== "undefined") {
159
- if (supported_methods == "*" || (typeof method === "undefined") || [...supported_methods].map(m => m.toLowerCase()).indexOf(method.toLowerCase()) !== -1) {
160
- _method_allowed_ = true;
161
- }
162
- } else {
150
+ }
151
+
152
+ static(method: string, data: any) {
153
+ const microservice = this;
154
+ const redirect_to = microservice.route.redirect_to;
155
+ return new Promise<void>(function (resolve, reject) {
156
+ const supported_methods = microservice.route.supported_methods;
157
+ let _method_allowed_ = false;
158
+ if (typeof supported_methods !== "undefined") {
159
+ if (supported_methods == "*" || (typeof method === "undefined") || [...supported_methods].map(m => m.toLowerCase()).indexOf(method.toLowerCase()) !== -1) {
163
160
  _method_allowed_ = true;
164
161
  }
162
+ } else {
163
+ _method_allowed_ = true;
164
+ }
165
165
 
166
- logger.debug("Starting static delivery microservice call for method: " + method);
167
- if (_method_allowed_) {
168
- logger.info("I'm going to deliver a static path...");
169
- if (redirect_to) {
170
- const request_path = microservice.request.path;
171
- const re = (new RegExp(microservice.route.path.replace(/{(.*?)}/g, "\(\?\<$1\>\.\*\)"), "g"));
172
- microservice.fileName = request_path.replace(re, microservice.route.redirect_to);
173
- try {
174
- resolve();
175
- } catch (e) {
176
- logger.warn("\u{1F926} Something went wrong \u{1F926} when trying to deliver a static path: " + microservice.fileName);
177
- reject(e as Error);
178
- }
179
- } else {
180
- logger.info("There is no redirect_to setting declared in route properties. \n Skipping static delivery...");
181
- reject(new Error("There is no redirect_to setting declared in route properties. \n Skipping static delivery..."));
166
+ logger.debug("Starting static delivery microservice call for method: " + method);
167
+ if (_method_allowed_) {
168
+ logger.info("I'm going to deliver a static path...");
169
+ if (redirect_to) {
170
+ const request_path = microservice.request.path;
171
+ const re = (new RegExp(microservice.route.path.replace(/{(.*?)}/g, "\(\?\<$1\>\.\*\)"), "g"));
172
+ microservice.fileName = request_path.replace(re, microservice.route.redirect_to);
173
+ try {
174
+ resolve();
175
+ } catch (e) {
176
+ logger.warn("\u{1F926} Something went wrong \u{1F926} when trying to deliver a static path: " + microservice.fileName);
177
+ reject(e instanceof Error ? e : new Error(String(e)));
182
178
  }
183
179
  } else {
184
- logger.debug("Method: " + method + " will be skipped");
185
- resolve();
180
+ logger.info("There is no redirect_to setting declared in route properties. \n Skipping static delivery...");
181
+ reject(new Error("There is no redirect_to setting declared in route properties. \n Skipping static delivery..."));
186
182
  }
183
+ } else {
184
+ logger.debug("Method: " + method + " will be skipped");
185
+ resolve();
186
+ }
187
187
 
188
- });
189
- }
188
+ });
189
+ }
190
190
 
191
- head(formData: any) {
192
- const microservice = this;
193
- microservice.static("head", formData).then(response => {
194
- microservice.body = response;
195
- microservice.done();
196
- })
197
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
198
- }
191
+ head(formData: any) {
192
+ const microservice = this;
193
+ microservice.static("head", formData).then(response => {
194
+ microservice.body = response;
195
+ microservice.done();
196
+ })
197
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
198
+ }
199
199
 
200
- get(formData: any) {
201
- const microservice = this;
202
- microservice.static("get", formData).then(response => {
203
- microservice.body = response;
204
- microservice.done();
205
- }).catch(error => {
206
- console.error(error);
207
- });
208
- }
200
+ get(formData: any) {
201
+ const microservice = this;
202
+ microservice.static("get", formData).then(response => {
203
+ microservice.body = response;
204
+ microservice.done();
205
+ }).catch(error => {
206
+ console.error(error);
207
+ });
208
+ }
209
209
 
210
- post(formData: any) {
211
- const microservice = this;
212
- microservice.static("post", formData).then(response => {
213
- microservice.body = response;
214
- microservice.done();
215
- })
216
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
210
+ post(formData: any) {
211
+ const microservice = this;
212
+ microservice.static("post", formData).then(response => {
213
+ microservice.body = response;
214
+ microservice.done();
215
+ })
216
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
217
217
 
218
- }
218
+ }
219
219
 
220
- put(formData: any) {
221
- const microservice = this;
222
- microservice.static("put", formData).then(response => {
223
- microservice.body = response;
224
- microservice.done();
225
- })
226
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
220
+ put(formData: any) {
221
+ const microservice = this;
222
+ microservice.static("put", formData).then(response => {
223
+ microservice.body = response;
224
+ microservice.done();
225
+ })
226
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
227
227
 
228
- }
228
+ }
229
229
 
230
- delete(formData: any) {
231
- const microservice = this;
232
- microservice.static("delete", formData).then(response => {
233
- microservice.body = response;
234
- microservice.done();
235
- })
236
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
230
+ delete(formData: any) {
231
+ const microservice = this;
232
+ microservice.static("delete", formData).then(response => {
233
+ microservice.body = response;
234
+ microservice.done();
235
+ })
236
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
237
237
 
238
- }
239
-
240
- connect(formData: any) {
241
- const microservice = this;
242
- microservice.static("connect", formData).then(response => {
243
- microservice.body = response;
244
- microservice.done();
245
- })
246
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
238
+ }
247
239
 
248
- }
240
+ connect(formData: any) {
241
+ const microservice = this;
242
+ microservice.static("connect", formData).then(response => {
243
+ microservice.body = response;
244
+ microservice.done();
245
+ })
246
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
249
247
 
250
- options(formData: any) {
251
- const microservice = this;
252
- microservice.static("options", formData).then(response => {
253
- microservice.body = response;
254
- microservice.done();
255
- })
256
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
248
+ }
257
249
 
258
- }
250
+ options(formData: any) {
251
+ const microservice = this;
252
+ microservice.static("options", formData).then(response => {
253
+ microservice.body = response;
254
+ microservice.done();
255
+ })
256
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
259
257
 
260
- trace(formData: any) {
261
- const microservice = this;
262
- microservice.static("trace", formData).then(response => {
263
- microservice.body = response;
264
- microservice.done();
265
- })
266
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
258
+ }
267
259
 
268
- }
260
+ trace(formData: any) {
261
+ const microservice = this;
262
+ microservice.static("trace", formData).then(response => {
263
+ microservice.body = response;
264
+ microservice.done();
265
+ })
266
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
269
267
 
270
- patch(formData: any) {
271
- const microservice = this;
272
- microservice.static("patch", formData).then(response => {
273
- microservice.body = response;
274
- microservice.done();
275
- })
276
- .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
268
+ }
277
269
 
278
- }
270
+ patch(formData: any) {
271
+ const microservice = this;
272
+ microservice.static("patch", formData).then(response => {
273
+ microservice.body = response;
274
+ microservice.done();
275
+ })
276
+ .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });
279
277
 
280
278
  }
281
279
 
282
- ]);
280
+ }
281
+
282
+ ]);