exisjs 0.7.5 → 0.7.7

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 (321) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +12 -0
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/clean.d.ts +5 -0
  5. package/dist/cli/commands/clean.d.ts.map +1 -0
  6. package/dist/cli/commands/clean.js +30 -0
  7. package/dist/cli/commands/clean.js.map +1 -0
  8. package/dist/cli/commands/dev.d.ts.map +1 -1
  9. package/dist/cli/commands/dev.js +171 -86
  10. package/dist/cli/commands/dev.js.map +1 -1
  11. package/dist/cli/commands/generate.d.ts +6 -1
  12. package/dist/cli/commands/generate.d.ts.map +1 -1
  13. package/dist/cli/commands/generate.js +57 -2
  14. package/dist/cli/commands/generate.js.map +1 -1
  15. package/dist/cli/commands/start.d.ts.map +1 -1
  16. package/dist/cli/commands/start.js +54 -16
  17. package/dist/cli/commands/start.js.map +1 -1
  18. package/dist/cli/index.js +26 -3
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/cli/manifest.d.ts +1 -0
  21. package/dist/cli/manifest.d.ts.map +1 -1
  22. package/dist/cli/manifest.js +264 -33
  23. package/dist/cli/manifest.js.map +1 -1
  24. package/dist/cli/resolve-aliases.d.ts +1 -1
  25. package/dist/cli/resolve-aliases.d.ts.map +1 -1
  26. package/dist/cli/resolve-aliases.js +30 -13
  27. package/dist/cli/resolve-aliases.js.map +1 -1
  28. package/dist/config/config.d.ts +3 -1
  29. package/dist/config/config.d.ts.map +1 -1
  30. package/dist/config/config.js +9 -0
  31. package/dist/config/config.js.map +1 -1
  32. package/dist/config/types.d.ts +6 -0
  33. package/dist/config/types.d.ts.map +1 -1
  34. package/dist/cron/expressions.d.ts +45 -0
  35. package/dist/cron/expressions.d.ts.map +1 -0
  36. package/dist/cron/expressions.js +87 -0
  37. package/dist/cron/expressions.js.map +1 -0
  38. package/dist/cron/index.d.ts +6 -0
  39. package/dist/cron/index.d.ts.map +1 -0
  40. package/dist/cron/index.js +22 -0
  41. package/dist/cron/index.js.map +1 -0
  42. package/dist/cron/job.d.ts +50 -0
  43. package/dist/cron/job.d.ts.map +1 -0
  44. package/dist/cron/job.js +247 -0
  45. package/dist/cron/job.js.map +1 -0
  46. package/dist/cron/manager.d.ts +105 -0
  47. package/dist/cron/manager.d.ts.map +1 -0
  48. package/dist/cron/manager.js +245 -0
  49. package/dist/cron/manager.js.map +1 -0
  50. package/dist/cron/parser.d.ts +22 -0
  51. package/dist/cron/parser.d.ts.map +1 -0
  52. package/dist/cron/parser.js +269 -0
  53. package/dist/cron/parser.js.map +1 -0
  54. package/dist/cron/types.d.ts +76 -0
  55. package/dist/cron/types.d.ts.map +1 -0
  56. package/dist/cron/types.js +3 -0
  57. package/dist/cron/types.js.map +1 -0
  58. package/dist/decorators/constants.d.ts +2 -0
  59. package/dist/decorators/constants.d.ts.map +1 -1
  60. package/dist/decorators/constants.js +3 -1
  61. package/dist/decorators/constants.js.map +1 -1
  62. package/dist/decorators/core.d.ts +29 -11
  63. package/dist/decorators/core.d.ts.map +1 -1
  64. package/dist/decorators/core.js +49 -11
  65. package/dist/decorators/core.js.map +1 -1
  66. package/dist/decorators/cron.d.ts +57 -0
  67. package/dist/decorators/cron.d.ts.map +1 -0
  68. package/dist/decorators/cron.js +143 -0
  69. package/dist/decorators/cron.js.map +1 -0
  70. package/dist/decorators/index.d.ts +2 -0
  71. package/dist/decorators/index.d.ts.map +1 -1
  72. package/dist/decorators/index.js +2 -0
  73. package/dist/decorators/index.js.map +1 -1
  74. package/dist/decorators/middleware.d.ts +65 -2
  75. package/dist/decorators/middleware.d.ts.map +1 -1
  76. package/dist/decorators/middleware.js +148 -62
  77. package/dist/decorators/middleware.js.map +1 -1
  78. package/dist/decorators/params.d.ts +102 -2
  79. package/dist/decorators/params.d.ts.map +1 -1
  80. package/dist/decorators/params.js +105 -3
  81. package/dist/decorators/params.js.map +1 -1
  82. package/dist/decorators/response.d.ts.map +1 -1
  83. package/dist/decorators/response.js +32 -22
  84. package/dist/decorators/response.js.map +1 -1
  85. package/dist/decorators/routing.d.ts +81 -16
  86. package/dist/decorators/routing.d.ts.map +1 -1
  87. package/dist/decorators/routing.js +81 -16
  88. package/dist/decorators/routing.js.map +1 -1
  89. package/dist/di/container.d.ts.map +1 -1
  90. package/dist/di/container.js +6 -1
  91. package/dist/di/container.js.map +1 -1
  92. package/dist/docs/content/cli/commands.mdx +1 -1
  93. package/dist/docs/content/controllers.mdx +127 -10
  94. package/dist/docs/content/cron.mdx +196 -0
  95. package/dist/docs/content/decorators.mdx +22 -4
  96. package/dist/docs/content/errors.mdx +58 -9
  97. package/dist/docs/content/introduction.mdx +7 -7
  98. package/dist/docs/content/middleware.mdx +269 -6
  99. package/dist/docs/content/requests.mdx +180 -6
  100. package/dist/docs/content/responses.mdx +283 -32
  101. package/dist/docs/content/routing.mdx +46 -0
  102. package/dist/docs/content/swagger.mdx +228 -0
  103. package/dist/docs/content/validation.mdx +190 -11
  104. package/dist/docs/reference/context.mdx +11 -0
  105. package/dist/docs/reference/cron.mdx +300 -0
  106. package/dist/docs/reference/decorators.mdx +22 -4
  107. package/dist/docs/reference/error.mdx +88 -0
  108. package/dist/docs/reference/logger.mdx +175 -43
  109. package/dist/docs/reference/middleware.mdx +31 -0
  110. package/dist/docs/reference/router.mdx +22 -0
  111. package/dist/docs/reference/swagger.mdx +143 -0
  112. package/dist/docs/reference/validator.mdx +83 -23
  113. package/dist/error/errors.d.ts.map +1 -1
  114. package/dist/error/errors.js +95 -43
  115. package/dist/error/errors.js.map +1 -1
  116. package/dist/error/index.d.ts +1 -0
  117. package/dist/error/index.d.ts.map +1 -1
  118. package/dist/error/index.js +11 -1
  119. package/dist/error/index.js.map +1 -1
  120. package/dist/error/overlay.d.ts +42 -0
  121. package/dist/error/overlay.d.ts.map +1 -0
  122. package/dist/error/overlay.js +306 -0
  123. package/dist/error/overlay.js.map +1 -0
  124. package/dist/index.d.ts +1 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +22 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/lib/start-server.js +33 -7
  129. package/dist/lib/start-server.js.map +1 -1
  130. package/dist/logger/index.d.ts +1 -1
  131. package/dist/logger/index.d.ts.map +1 -1
  132. package/dist/logger/index.js +9 -1
  133. package/dist/logger/index.js.map +1 -1
  134. package/dist/middleware/guard.d.ts +2 -2
  135. package/dist/middleware/guard.d.ts.map +1 -1
  136. package/dist/middleware/guard.js.map +1 -1
  137. package/dist/middleware/ip-filter.d.ts +1 -0
  138. package/dist/middleware/ip-filter.d.ts.map +1 -1
  139. package/dist/middleware/ip-filter.js +2 -0
  140. package/dist/middleware/ip-filter.js.map +1 -1
  141. package/dist/middleware/middleware.d.ts +2 -2
  142. package/dist/middleware/middleware.d.ts.map +1 -1
  143. package/dist/middleware/middleware.js +20 -2
  144. package/dist/middleware/middleware.js.map +1 -1
  145. package/dist/middleware/security.d.ts +43 -1
  146. package/dist/middleware/security.d.ts.map +1 -1
  147. package/dist/middleware/security.js +101 -0
  148. package/dist/middleware/security.js.map +1 -1
  149. package/dist/response/index.d.ts +229 -6
  150. package/dist/response/index.d.ts.map +1 -1
  151. package/dist/response/index.js +272 -2
  152. package/dist/response/index.js.map +1 -1
  153. package/dist/router/boundary.d.ts +41 -11
  154. package/dist/router/boundary.d.ts.map +1 -1
  155. package/dist/router/boundary.js +24 -2
  156. package/dist/router/boundary.js.map +1 -1
  157. package/dist/router/controller-registrar.d.ts.map +1 -1
  158. package/dist/router/controller-registrar.js +108 -4
  159. package/dist/router/controller-registrar.js.map +1 -1
  160. package/dist/router/index.d.ts +2 -2
  161. package/dist/router/index.d.ts.map +1 -1
  162. package/dist/router/index.js +2 -1
  163. package/dist/router/index.js.map +1 -1
  164. package/dist/router/route-builder.d.ts +262 -65
  165. package/dist/router/route-builder.d.ts.map +1 -1
  166. package/dist/router/route-builder.js +181 -23
  167. package/dist/router/route-builder.js.map +1 -1
  168. package/dist/router/route-scanner.d.ts +6 -0
  169. package/dist/router/route-scanner.d.ts.map +1 -1
  170. package/dist/router/route-scanner.js +71 -792
  171. package/dist/router/route-scanner.js.map +1 -1
  172. package/dist/router/router.d.ts.map +1 -1
  173. package/dist/router/router.js +62 -17
  174. package/dist/router/router.js.map +1 -1
  175. package/dist/router/scanner/boundary-loader.d.ts +18 -0
  176. package/dist/router/scanner/boundary-loader.d.ts.map +1 -0
  177. package/dist/router/scanner/boundary-loader.js +539 -0
  178. package/dist/router/scanner/boundary-loader.js.map +1 -0
  179. package/dist/router/scanner/cron-mounter.d.ts +15 -0
  180. package/dist/router/scanner/cron-mounter.d.ts.map +1 -0
  181. package/dist/router/scanner/cron-mounter.js +216 -0
  182. package/dist/router/scanner/cron-mounter.js.map +1 -0
  183. package/dist/router/scanner/error-mounter.d.ts +14 -0
  184. package/dist/router/scanner/error-mounter.d.ts.map +1 -0
  185. package/dist/router/scanner/error-mounter.js +200 -0
  186. package/dist/router/scanner/error-mounter.js.map +1 -0
  187. package/dist/router/scanner/fs-scanner.d.ts +25 -0
  188. package/dist/router/scanner/fs-scanner.d.ts.map +1 -0
  189. package/dist/router/scanner/fs-scanner.js +115 -0
  190. package/dist/router/scanner/fs-scanner.js.map +1 -0
  191. package/dist/router/scanner/functional-compiler.d.ts +9 -0
  192. package/dist/router/scanner/functional-compiler.d.ts.map +1 -0
  193. package/dist/router/scanner/functional-compiler.js +233 -0
  194. package/dist/router/scanner/functional-compiler.js.map +1 -0
  195. package/dist/router/scanner/index.d.ts +9 -0
  196. package/dist/router/scanner/index.d.ts.map +1 -0
  197. package/dist/router/scanner/index.js +19 -0
  198. package/dist/router/scanner/index.js.map +1 -0
  199. package/dist/router/types.d.ts +23 -0
  200. package/dist/router/types.d.ts.map +1 -1
  201. package/dist/server/app.d.ts +3 -0
  202. package/dist/server/app.d.ts.map +1 -1
  203. package/dist/server/app.js +13 -0
  204. package/dist/server/app.js.map +1 -1
  205. package/dist/server/bootstrapper.d.ts.map +1 -1
  206. package/dist/server/bootstrapper.js +91 -30
  207. package/dist/server/bootstrapper.js.map +1 -1
  208. package/dist/server/cluster.d.ts.map +1 -1
  209. package/dist/server/cluster.js +13 -2
  210. package/dist/server/cluster.js.map +1 -1
  211. package/dist/server/context.d.ts +8 -0
  212. package/dist/server/context.d.ts.map +1 -1
  213. package/dist/server/context.js +50 -6
  214. package/dist/server/context.js.map +1 -1
  215. package/dist/server/helpers/body-parser.d.ts +18 -0
  216. package/dist/server/helpers/body-parser.d.ts.map +1 -0
  217. package/dist/server/helpers/body-parser.js +246 -0
  218. package/dist/server/helpers/body-parser.js.map +1 -0
  219. package/dist/server/helpers/cookie.d.ts +4 -0
  220. package/dist/server/helpers/cookie.d.ts.map +1 -0
  221. package/dist/server/helpers/cookie.js +61 -0
  222. package/dist/server/helpers/cookie.js.map +1 -0
  223. package/dist/server/helpers/etag.d.ts +3 -0
  224. package/dist/server/helpers/etag.d.ts.map +1 -0
  225. package/dist/server/helpers/etag.js +25 -0
  226. package/dist/server/helpers/etag.js.map +1 -0
  227. package/dist/server/helpers/index.d.ts +6 -0
  228. package/dist/server/helpers/index.d.ts.map +1 -0
  229. package/dist/server/helpers/index.js +21 -0
  230. package/dist/server/helpers/index.js.map +1 -0
  231. package/dist/server/helpers/ip.d.ts +9 -0
  232. package/dist/server/helpers/ip.d.ts.map +1 -0
  233. package/dist/server/helpers/ip.js +62 -0
  234. package/dist/server/helpers/ip.js.map +1 -0
  235. package/dist/server/helpers/stream.d.ts +4 -0
  236. package/dist/server/helpers/stream.d.ts.map +1 -0
  237. package/dist/server/helpers/stream.js +193 -0
  238. package/dist/server/helpers/stream.js.map +1 -0
  239. package/dist/server/lifecycle.d.ts +22 -0
  240. package/dist/server/lifecycle.d.ts.map +1 -0
  241. package/dist/server/lifecycle.js +106 -0
  242. package/dist/server/lifecycle.js.map +1 -0
  243. package/dist/server/request-handler.d.ts +1 -0
  244. package/dist/server/request-handler.d.ts.map +1 -1
  245. package/dist/server/request-handler.js +27 -17
  246. package/dist/server/request-handler.js.map +1 -1
  247. package/dist/server/request.d.ts +1 -139
  248. package/dist/server/request.d.ts.map +1 -1
  249. package/dist/server/request.js +37 -433
  250. package/dist/server/request.js.map +1 -1
  251. package/dist/server/response.d.ts +112 -156
  252. package/dist/server/response.d.ts.map +1 -1
  253. package/dist/server/response.js +129 -279
  254. package/dist/server/response.js.map +1 -1
  255. package/dist/swagger/decorators.d.ts +81 -0
  256. package/dist/swagger/decorators.d.ts.map +1 -0
  257. package/dist/swagger/decorators.js +172 -0
  258. package/dist/swagger/decorators.js.map +1 -0
  259. package/dist/swagger/generator.d.ts +19 -0
  260. package/dist/swagger/generator.d.ts.map +1 -0
  261. package/dist/swagger/generator.js +344 -0
  262. package/dist/swagger/generator.js.map +1 -0
  263. package/dist/swagger/index.d.ts +31 -0
  264. package/dist/swagger/index.d.ts.map +1 -0
  265. package/dist/swagger/index.js +53 -0
  266. package/dist/swagger/index.js.map +1 -0
  267. package/dist/swagger/mounter.d.ts +7 -0
  268. package/dist/swagger/mounter.d.ts.map +1 -0
  269. package/dist/swagger/mounter.js +56 -0
  270. package/dist/swagger/mounter.js.map +1 -0
  271. package/dist/swagger/types.d.ts +190 -0
  272. package/dist/swagger/types.d.ts.map +1 -0
  273. package/dist/swagger/types.js +3 -0
  274. package/dist/swagger/types.js.map +1 -0
  275. package/dist/swagger/ui.d.ts +6 -0
  276. package/dist/swagger/ui.d.ts.map +1 -0
  277. package/dist/swagger/ui.js +118 -0
  278. package/dist/swagger/ui.js.map +1 -0
  279. package/dist/testing/index.d.ts.map +1 -1
  280. package/dist/testing/index.js +6 -1
  281. package/dist/testing/index.js.map +1 -1
  282. package/dist/testing/mocks.d.ts.map +1 -1
  283. package/dist/testing/mocks.js +15 -3
  284. package/dist/testing/mocks.js.map +1 -1
  285. package/dist/utils/logger.d.ts +8 -0
  286. package/dist/utils/logger.d.ts.map +1 -1
  287. package/dist/utils/logger.js +184 -1
  288. package/dist/utils/logger.js.map +1 -1
  289. package/dist/validator/builder.d.ts +223 -0
  290. package/dist/validator/builder.d.ts.map +1 -0
  291. package/dist/validator/builder.js +517 -0
  292. package/dist/validator/builder.js.map +1 -0
  293. package/dist/validator/engine.d.ts +19 -0
  294. package/dist/validator/engine.d.ts.map +1 -0
  295. package/dist/validator/engine.js +568 -0
  296. package/dist/validator/engine.js.map +1 -0
  297. package/dist/validator/error.d.ts +12 -0
  298. package/dist/validator/error.d.ts.map +1 -0
  299. package/dist/validator/error.js +63 -0
  300. package/dist/validator/error.js.map +1 -0
  301. package/dist/validator/pagination.d.ts +40 -0
  302. package/dist/validator/pagination.d.ts.map +1 -0
  303. package/dist/validator/pagination.js +60 -0
  304. package/dist/validator/pagination.js.map +1 -0
  305. package/dist/validator/tex-types.d.ts +2 -1
  306. package/dist/validator/tex-types.d.ts.map +1 -1
  307. package/dist/validator/tex-types.js +2 -1
  308. package/dist/validator/tex-types.js.map +1 -1
  309. package/dist/validator/tex.d.ts +6 -142
  310. package/dist/validator/tex.d.ts.map +1 -1
  311. package/dist/validator/tex.js +14 -733
  312. package/dist/validator/tex.js.map +1 -1
  313. package/dist/validator/types.d.ts +83 -0
  314. package/dist/validator/types.d.ts.map +1 -0
  315. package/dist/validator/types.js +3 -0
  316. package/dist/validator/types.js.map +1 -0
  317. package/package.json +8 -4
  318. package/dist/dev/error-overlay.d.ts +0 -3
  319. package/dist/dev/error-overlay.d.ts.map +0 -1
  320. package/dist/dev/error-overlay.js +0 -118
  321. package/dist/dev/error-overlay.js.map +0 -1
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.streamToResponse = streamToResponse;
4
+ const index_1 = require("../../logger/index");
5
+ function streamToResponse(resRaw, readable, isWritable, headersSent, hasHeader, setHeader, setStatusCode, endFn, req) {
6
+ if (!isWritable) {
7
+ if (typeof readable.destroy === 'function') {
8
+ ;
9
+ readable.destroy();
10
+ }
11
+ else if (typeof readable.cancel === 'function') {
12
+ ;
13
+ readable.cancel().catch(() => {
14
+ /* ignore */
15
+ });
16
+ }
17
+ return;
18
+ }
19
+ if (!hasHeader('Content-Type')) {
20
+ setHeader('Content-Type', 'application/octet-stream');
21
+ }
22
+ // 1. Web Standard ReadableStream (fetch, OpenAI, Anthropic, AI SDKs)
23
+ if (typeof readable.getReader === 'function') {
24
+ const reader = readable.getReader();
25
+ let closed = false;
26
+ const cleanup = () => {
27
+ if (closed)
28
+ return;
29
+ closed = true;
30
+ try {
31
+ reader.cancel().catch(() => {
32
+ /* ignore */
33
+ });
34
+ }
35
+ catch {
36
+ // ignore
37
+ }
38
+ };
39
+ resRaw.once('close', cleanup);
40
+ if (req && req.raw) {
41
+ ;
42
+ req.raw.once('close', cleanup);
43
+ req.raw.once('aborted', cleanup);
44
+ }
45
+ ;
46
+ (async () => {
47
+ try {
48
+ while (true) {
49
+ if (closed || resRaw.destroyed) {
50
+ cleanup();
51
+ break;
52
+ }
53
+ const { done, value } = await reader.read();
54
+ if (done) {
55
+ resRaw.removeListener('close', cleanup);
56
+ if (!resRaw.writableEnded && !resRaw.destroyed) {
57
+ endFn();
58
+ }
59
+ break;
60
+ }
61
+ if (value !== undefined && value !== null) {
62
+ const ok = resRaw.write(value);
63
+ if (!ok && !resRaw.destroyed && !resRaw.writableEnded) {
64
+ await new Promise((resolve) => resRaw.once('drain', resolve));
65
+ }
66
+ }
67
+ }
68
+ }
69
+ catch (err) {
70
+ cleanup();
71
+ if (req && req.log) {
72
+ req.log.error({ err }, '[ExisJS] Error in Web ReadableStream');
73
+ }
74
+ else {
75
+ index_1.logger.error({ err }, '[ExisJS] Error in Web ReadableStream');
76
+ }
77
+ if (isWritable && !headersSent) {
78
+ setStatusCode(500);
79
+ endFn('{"error":"Stream transmission failed"}');
80
+ }
81
+ else if (!resRaw.destroyed) {
82
+ resRaw.destroy(err);
83
+ }
84
+ }
85
+ })();
86
+ return;
87
+ }
88
+ // 2. AsyncIterable / Generator stream
89
+ if (typeof readable[Symbol.asyncIterator] === 'function' &&
90
+ typeof readable.pipe !== 'function') {
91
+ let closed = false;
92
+ const cleanup = () => {
93
+ closed = true;
94
+ if (typeof readable.return === 'function') {
95
+ ;
96
+ readable.return().catch(() => {
97
+ /* ignore */
98
+ });
99
+ }
100
+ };
101
+ resRaw.once('close', cleanup);
102
+ if (req && req.raw) {
103
+ ;
104
+ req.raw.once('close', cleanup);
105
+ }
106
+ ;
107
+ (async () => {
108
+ try {
109
+ for await (const chunk of readable) {
110
+ if (closed || resRaw.destroyed)
111
+ break;
112
+ if (chunk !== undefined && chunk !== null) {
113
+ const payload = typeof chunk === 'string' || Buffer.isBuffer(chunk)
114
+ ? chunk
115
+ : JSON.stringify(chunk);
116
+ const ok = resRaw.write(payload);
117
+ if (!ok && !resRaw.destroyed && !resRaw.writableEnded) {
118
+ await new Promise((resolve) => resRaw.once('drain', resolve));
119
+ }
120
+ }
121
+ }
122
+ resRaw.removeListener('close', cleanup);
123
+ if (!resRaw.writableEnded && !resRaw.destroyed) {
124
+ endFn();
125
+ }
126
+ }
127
+ catch (err) {
128
+ cleanup();
129
+ if (req && req.log) {
130
+ req.log.error({ err }, '[ExisJS] Error in AsyncIterable stream');
131
+ }
132
+ else {
133
+ index_1.logger.error({ err }, '[ExisJS] Error in AsyncIterable stream');
134
+ }
135
+ if (isWritable && !headersSent) {
136
+ setStatusCode(500);
137
+ endFn('{"error":"Stream transmission failed"}');
138
+ }
139
+ else if (!resRaw.destroyed) {
140
+ resRaw.destroy(err);
141
+ }
142
+ }
143
+ })();
144
+ return;
145
+ }
146
+ // 3. Standard Node.js Readable Stream
147
+ const cleanup = () => {
148
+ if (typeof readable.destroy === 'function' &&
149
+ !readable.destroyed) {
150
+ ;
151
+ readable.destroy();
152
+ }
153
+ };
154
+ // Auto-destroy stream if client aborts or response closes early
155
+ resRaw.once('close', cleanup);
156
+ if (req && req.raw) {
157
+ ;
158
+ req.raw.once('close', cleanup);
159
+ req.raw.once('aborted', cleanup);
160
+ }
161
+ // Handle stream error to prevent process crash
162
+ if (typeof readable.on === 'function') {
163
+ ;
164
+ readable.once('error', (err) => {
165
+ resRaw.removeListener('close', cleanup);
166
+ if (req && req.log) {
167
+ req.log.error({ err }, '[ExisJS] Error in sendStream');
168
+ }
169
+ else {
170
+ index_1.logger.error({ err }, '[ExisJS] Error in sendStream');
171
+ }
172
+ if (isWritable && !headersSent) {
173
+ setStatusCode(500);
174
+ endFn('{"error":"Stream transmission failed"}');
175
+ }
176
+ else {
177
+ cleanup();
178
+ if (!resRaw.destroyed) {
179
+ resRaw.destroy(err);
180
+ }
181
+ }
182
+ });
183
+ }
184
+ if (typeof readable.once === 'function') {
185
+ ;
186
+ readable.once('end', () => {
187
+ resRaw.removeListener('close', cleanup);
188
+ });
189
+ }
190
+ ;
191
+ readable.pipe(resRaw);
192
+ }
193
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/server/helpers/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * ProcessLifecycle
3
+ *
4
+ * Tracks and unregisters process-level event listeners (e.g. unhandledRejection,
5
+ * uncaughtException, SIGINT, SIGTERM, custom process listeners) and background
6
+ * interval timers registered during an ExisJS App's lifetime to prevent memory leaks,
7
+ * zombie handles, and socket binding collisions across hot-reloads and restarts.
8
+ */
9
+ export declare class ProcessLifecycle {
10
+ private static trackedListeners;
11
+ private static trackedIntervals;
12
+ private static originalOn;
13
+ private static originalAddListener;
14
+ private static originalOnce;
15
+ private static originalSetInterval;
16
+ private static originalClearInterval;
17
+ private static isIntercepting;
18
+ static startTracking(): void;
19
+ static cleanup(): void;
20
+ static restore(): void;
21
+ }
22
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/server/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAGvB;IACR,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAA4B;IAC3D,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiC;IAC1D,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAA0C;IAC5E,OAAO,CAAC,MAAM,CAAC,YAAY,CAAmC;IAC9D,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAC5B;IACN,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAC9B;IACN,OAAO,CAAC,MAAM,CAAC,cAAc,CAAQ;WAEvB,aAAa,IAAI,IAAI;WA0ErB,OAAO,IAAI,IAAI;WAwBf,OAAO,IAAI,IAAI;CAc9B"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProcessLifecycle = void 0;
4
+ /**
5
+ * ProcessLifecycle
6
+ *
7
+ * Tracks and unregisters process-level event listeners (e.g. unhandledRejection,
8
+ * uncaughtException, SIGINT, SIGTERM, custom process listeners) and background
9
+ * interval timers registered during an ExisJS App's lifetime to prevent memory leaks,
10
+ * zombie handles, and socket binding collisions across hot-reloads and restarts.
11
+ */
12
+ class ProcessLifecycle {
13
+ static startTracking() {
14
+ if (this.isIntercepting)
15
+ return;
16
+ this.isIntercepting = true;
17
+ this.originalOn = process.on;
18
+ this.originalAddListener = process.addListener;
19
+ this.originalOnce = process.once;
20
+ this.originalSetInterval = globalThis.setInterval;
21
+ this.originalClearInterval = globalThis.clearInterval;
22
+ process.on = function (event, listener) {
23
+ ProcessLifecycle.trackedListeners.push({ event, listener });
24
+ return ProcessLifecycle.originalOn.call(process, event, listener);
25
+ };
26
+ process.addListener = function (event, listener) {
27
+ ProcessLifecycle.trackedListeners.push({ event, listener });
28
+ return ProcessLifecycle.originalAddListener.call(process, event, listener);
29
+ };
30
+ process.once = function (event, listener) {
31
+ const wrappedListener = function (...args) {
32
+ const index = ProcessLifecycle.trackedListeners.findIndex((t) => t.listener === wrappedListener);
33
+ if (index !== -1)
34
+ ProcessLifecycle.trackedListeners.splice(index, 1);
35
+ return listener.apply(this, args);
36
+ };
37
+ ProcessLifecycle.trackedListeners.push({
38
+ event,
39
+ listener: wrappedListener,
40
+ });
41
+ return ProcessLifecycle.originalOnce.call(process, event, wrappedListener);
42
+ };
43
+ globalThis.setInterval = function (handler, timeout, ...args) {
44
+ const timer = ProcessLifecycle.originalSetInterval(handler, timeout, ...args);
45
+ ProcessLifecycle.trackedIntervals.add(timer);
46
+ return timer;
47
+ };
48
+ globalThis.clearInterval = function (timer) {
49
+ if (timer && typeof timer === 'object') {
50
+ ProcessLifecycle.trackedIntervals.delete(timer);
51
+ }
52
+ return ProcessLifecycle.originalClearInterval(timer);
53
+ };
54
+ }
55
+ static cleanup() {
56
+ for (const { event, listener } of this.trackedListeners) {
57
+ try {
58
+ process.removeListener(event, listener);
59
+ }
60
+ catch {
61
+ /* ignore */
62
+ }
63
+ }
64
+ this.trackedListeners = [];
65
+ for (const timer of this.trackedIntervals) {
66
+ try {
67
+ if (this.originalClearInterval) {
68
+ this.originalClearInterval(timer);
69
+ }
70
+ else {
71
+ clearInterval(timer);
72
+ }
73
+ }
74
+ catch {
75
+ /* ignore */
76
+ }
77
+ }
78
+ this.trackedIntervals.clear();
79
+ }
80
+ static restore() {
81
+ this.cleanup();
82
+ if (this.isIntercepting) {
83
+ if (this.originalOn)
84
+ process.on = this.originalOn;
85
+ if (this.originalAddListener)
86
+ process.addListener = this.originalAddListener;
87
+ if (this.originalOnce)
88
+ process.once = this.originalOnce;
89
+ if (this.originalSetInterval)
90
+ globalThis.setInterval = this.originalSetInterval;
91
+ if (this.originalClearInterval)
92
+ globalThis.clearInterval = this.originalClearInterval;
93
+ this.isIntercepting = false;
94
+ }
95
+ }
96
+ }
97
+ exports.ProcessLifecycle = ProcessLifecycle;
98
+ ProcessLifecycle.trackedListeners = [];
99
+ ProcessLifecycle.trackedIntervals = new Set();
100
+ ProcessLifecycle.originalOn = null;
101
+ ProcessLifecycle.originalAddListener = null;
102
+ ProcessLifecycle.originalOnce = null;
103
+ ProcessLifecycle.originalSetInterval = null;
104
+ ProcessLifecycle.originalClearInterval = null;
105
+ ProcessLifecycle.isIntercepting = false;
106
+ //# sourceMappingURL=lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/server/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare class RequestHandler {
21
21
  url: string;
22
22
  headers?: Record<string, string>;
23
23
  body?: any;
24
+ payload?: any;
24
25
  }): Promise<import('../testing/client').TestResponse>;
25
26
  _executeWithContext(req: ExisRequest, res: ExisResponse, execution: () => void): void;
26
27
  handle(rawReq: IncomingMessage, rawRes: ServerResponse): void;
@@ -1 +1 @@
1
- {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,qBAAa,cAAc;IAWb,OAAO,CAAC,GAAG;IAVvB,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAc,cAAc,SAAI;IAKhC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;gBAExB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAEjC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAMZ,mBAAmB,IAAI,OAAO,EAAE;IAW1B,MAAM,CAAC,OAAO,EAAE;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,GAAG,CAAA;KACX,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC;IAwF9C,mBAAmB,CACxB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI;IA+BA,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;YAyCtD,gBAAgB;YAuChB,iBAAiB;CAuChC"}
1
+ {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,qBAAa,cAAc;IAWb,OAAO,CAAC,GAAG;IAVvB,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAc,cAAc,SAAI;IAKhC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;gBAExB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAEjC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAOZ,mBAAmB,IAAI,OAAO,EAAE;IAW1B,MAAM,CAAC,OAAO,EAAE;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC;IAwF9C,mBAAmB,CACxB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI;IA6BA,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;YAsDtD,gBAAgB;YAuChB,iBAAiB;CAuChC"}
@@ -73,6 +73,7 @@ class RequestHandler {
73
73
  }
74
74
  }
75
75
  _releaseRes(res) {
76
+ res.req = undefined;
76
77
  if (this._resPool.length < RequestHandler.MAX_POOL_SIZE) {
77
78
  this._resPool.push(res);
78
79
  }
@@ -97,7 +98,7 @@ class RequestHandler {
97
98
  }
98
99
  const method = (options.method || 'GET').toUpperCase();
99
100
  const path = options.url;
100
- const payload = options.body;
101
+ const payload = options.body !== undefined ? options.body : options.payload;
101
102
  return new Promise((resolve, reject) => {
102
103
  const server = node_http_1.default.createServer((req, res) => {
103
104
  this.app.handle(req, res);
@@ -177,37 +178,46 @@ class RequestHandler {
177
178
  app: this.app,
178
179
  diCache: new Map(),
179
180
  };
180
- res._onFinish.push(() => {
181
- for (const cb of store.afterCallbacks) {
182
- try {
183
- const r = cb();
184
- if (r instanceof Promise)
185
- r.catch(() => {
186
- /* noop */
187
- });
188
- }
189
- catch (e) {
190
- this.app.log.error({ err: e }, 'Error in after() callback');
191
- }
192
- }
193
- });
194
- context_1.executionContext.run(store, execution);
181
+ const doCleanup = () => {
182
+ (0, context_1.cleanupContext)(store, this.app.log);
183
+ };
184
+ res._onFinish.push(doCleanup);
185
+ res.raw.once('close', doCleanup);
186
+ try {
187
+ context_1.executionContext.run(store, execution);
188
+ }
189
+ catch (err) {
190
+ doCleanup();
191
+ throw err;
192
+ }
195
193
  }
196
194
  else {
197
195
  execution();
198
196
  }
199
197
  }
200
198
  handle(rawReq, rawRes) {
199
+ RequestHandler.activeRequests++;
200
+ let decremented = false;
201
+ const decrementActive = () => {
202
+ if (!decremented) {
203
+ decremented = true;
204
+ if (RequestHandler.activeRequests > 0) {
205
+ RequestHandler.activeRequests--;
206
+ }
207
+ }
208
+ };
201
209
  const res = this._acquireRes(rawRes);
202
210
  const req = this._acquireReq(rawReq, res, this.app.options.trustProxy, this.app.options.bodyLimit);
203
211
  res.req = req;
204
212
  res.etagEnabled = this.app.options.etag === true;
205
213
  req.log = this.app.log;
206
- // Recycle objects back to pool when the response is fully done
214
+ // Recycle objects back to pool and decrement active request counter when the response is fully done
207
215
  rawRes.on('close', () => {
216
+ decrementActive();
208
217
  this._releaseReq(req);
209
218
  this._releaseRes(res);
210
219
  });
220
+ rawRes.on('finish', decrementActive);
211
221
  this._executeWithContext(req, res, () => {
212
222
  if (this.app.hooks.request.length === 0 &&
213
223
  this.app.hooks.response.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"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"}
@@ -30,12 +30,12 @@ export declare class ExisRequest<TBody = unknown, TQuery = Record<string, string
30
30
  private _ip?;
31
31
  private _protocol?;
32
32
  private _hostname?;
33
+ private _method?;
33
34
  private _onClose;
34
35
  private _attachSignal;
35
36
  cleanup(): void;
36
37
  constructor(raw: IncomingMessage, res: ExisResponse, trustProxy?: boolean | number, bodyLimit?: number);
37
38
  init(raw: IncomingMessage, res: ExisResponse, trustProxy?: boolean | number, bodyLimit?: number): this;
38
- private _method?;
39
39
  get method(): string;
40
40
  set method(val: string);
41
41
  get headers(): import('node:http').IncomingHttpHeaders;
@@ -45,156 +45,18 @@ export declare class ExisRequest<TBody = unknown, TQuery = Record<string, string
45
45
  set query(val: Record<string, string>);
46
46
  get cookies(): Record<string, string>;
47
47
  set cookies(val: Record<string, string>);
48
- /**
49
- * When "trust proxy" is set, trusted proxy addresses + client.
50
- *
51
- * For example if the value were "client, proxy1, proxy2"
52
- * you would receive the array `["client", "proxy1", "proxy2"]`
53
- * where "proxy2" is the furthest down-stream and "proxy1" and
54
- * "proxy2" were trusted.
55
- *
56
- * @return {string[]}
57
- * @public
58
- */
59
48
  get ips(): string[];
60
- /**
61
- * Return the remote address from the trusted proxy.
62
- *
63
- * The is the remote address on the socket unless
64
- * "trust proxy" is set.
65
- *
66
- * @return {string}
67
- * @public
68
- */
69
49
  get ip(): string;
70
- private _normalizeIp;
71
- private _resolveIps;
72
50
  get protocol(): string;
73
51
  get secure(): boolean;
74
- /**
75
- * Parse the "Host" header field to a hostname.
76
- *
77
- * When the "trust proxy" setting trusts the socket
78
- * address, the "X-Forwarded-Host" header field will
79
- * be trusted.
80
- *
81
- * @return {string}
82
- * @public
83
- */
84
52
  get hostname(): string;
85
- /**
86
- * The original URL requested by the client.
87
- *
88
- * @return {string}
89
- * @public
90
- */
91
53
  get originalUrl(): string;
92
- /**
93
- * Return request header.
94
- *
95
- * The `Referrer` header field is special-cased,
96
- * both `Referrer` and `Referer` are interchangeable.
97
- *
98
- * Examples:
99
- *
100
- * req.get('Content-Type');
101
- * // => "text/plain"
102
- *
103
- * req.get('content-type');
104
- * // => "text/plain"
105
- *
106
- * req.get('Something');
107
- * // => undefined
108
- *
109
- * Aliased as `req.header()`.
110
- *
111
- * @param {string} header
112
- * @return {string | undefined}
113
- * @public
114
- */
115
54
  get(header: string): string | undefined;
116
- /**
117
- * Return request header.
118
- *
119
- * Alias for `req.get()`.
120
- *
121
- * @param {string} name
122
- * @return {string | undefined}
123
- * @public
124
- */
125
55
  header(name: string): string | undefined;
126
- /**
127
- * Check if the incoming request contains the "Content-Type"
128
- * header field, and it contains the given mime `type`.
129
- *
130
- * Examples:
131
- *
132
- * // With Content-Type: text/html; charset=utf-8
133
- * req.is('html');
134
- * req.is('text/html');
135
- * req.is('text/*');
136
- * // => true
137
- *
138
- * // When Content-Type is application/json
139
- * req.is('json');
140
- * req.is('application/json');
141
- * req.is('application/*');
142
- * // => true
143
- *
144
- * req.is('html');
145
- * // => false
146
- *
147
- * @param {string} contentType
148
- * @return {boolean}
149
- * @public
150
- */
151
56
  is(contentType: string): boolean;
152
- /**
153
- * Check if the given `type(s)` is acceptable, returning
154
- * the best match when true, otherwise `false`, in which
155
- * case you should respond with 406 "Not Acceptable".
156
- *
157
- * Examples:
158
- *
159
- * // Accept: text/html
160
- * req.accepts('html');
161
- * // => "html"
162
- *
163
- * // Accept: text/*, application/json
164
- * req.accepts('html');
165
- * // => "html"
166
- *
167
- * @param {string[]} types
168
- * @return {string | string[] | false}
169
- * @public
170
- */
171
57
  accepts(...types: string[]): string | string[] | false;
172
- /**
173
- * Check if the given `lang`s are acceptable,
174
- * otherwise you should respond with 406 "Not Acceptable".
175
- *
176
- * @param {string[]} languages
177
- * @return {string | string[] | false}
178
- * @public
179
- */
180
58
  acceptsLanguages(...languages: string[]): string | string[] | false;
181
- /**
182
- * Check if the request is fresh, aka
183
- * Last-Modified or the ETag
184
- * still match.
185
- *
186
- * @return {boolean}
187
- * @public
188
- */
189
59
  get fresh(): boolean;
190
- /**
191
- * Check if the request is stale, aka
192
- * "Last-Modified" and / or the "ETag" for the
193
- * resource has changed.
194
- *
195
- * @return {boolean}
196
- * @public
197
- */
198
60
  get stale(): boolean;
199
61
  text(): Promise<string>;
200
62
  json<T = unknown>(): Promise<T>;