@spinajs/http 2.0.481 → 2.0.482

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 (179) hide show
  1. package/lib/cjs/config/http.d.ts.map +1 -1
  2. package/lib/cjs/config/http.js +11 -0
  3. package/lib/cjs/config/http.js.map +1 -1
  4. package/lib/cjs/controllers.d.ts.map +1 -1
  5. package/lib/cjs/controllers.js +48 -12
  6. package/lib/cjs/controllers.js.map +1 -1
  7. package/lib/cjs/decorators.d.ts +46 -4
  8. package/lib/cjs/decorators.d.ts.map +1 -1
  9. package/lib/cjs/decorators.js +127 -23
  10. package/lib/cjs/decorators.js.map +1 -1
  11. package/lib/cjs/error.js +3 -3
  12. package/lib/cjs/error.js.map +1 -1
  13. package/lib/cjs/file-middlewares/validation.d.ts +11 -0
  14. package/lib/cjs/file-middlewares/validation.d.ts.map +1 -1
  15. package/lib/cjs/file-middlewares/validation.js +52 -9
  16. package/lib/cjs/file-middlewares/validation.js.map +1 -1
  17. package/lib/cjs/file-middlewares/zip.d.ts.map +1 -1
  18. package/lib/cjs/file-middlewares/zip.js +6 -1
  19. package/lib/cjs/file-middlewares/zip.js.map +1 -1
  20. package/lib/cjs/index.d.ts +1 -0
  21. package/lib/cjs/index.d.ts.map +1 -1
  22. package/lib/cjs/index.js +1 -0
  23. package/lib/cjs/index.js.map +1 -1
  24. package/lib/cjs/interfaces.d.ts +95 -1
  25. package/lib/cjs/interfaces.d.ts.map +1 -1
  26. package/lib/cjs/interfaces.js +100 -4
  27. package/lib/cjs/interfaces.js.map +1 -1
  28. package/lib/cjs/middlewares/PerfRollup.d.ts +19 -0
  29. package/lib/cjs/middlewares/PerfRollup.d.ts.map +1 -0
  30. package/lib/cjs/middlewares/PerfRollup.js +61 -0
  31. package/lib/cjs/middlewares/PerfRollup.js.map +1 -0
  32. package/lib/cjs/middlewares/RequestId.d.ts +1 -2
  33. package/lib/cjs/middlewares/RequestId.d.ts.map +1 -1
  34. package/lib/cjs/middlewares/RequestId.js +19 -5
  35. package/lib/cjs/middlewares/RequestId.js.map +1 -1
  36. package/lib/cjs/middlewares/ResponseTime.d.ts +1 -2
  37. package/lib/cjs/middlewares/ResponseTime.d.ts.map +1 -1
  38. package/lib/cjs/middlewares/ResponseTime.js +29 -11
  39. package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
  40. package/lib/cjs/response-methods/file.d.ts.map +1 -1
  41. package/lib/cjs/response-methods/file.js +47 -21
  42. package/lib/cjs/response-methods/file.js.map +1 -1
  43. package/lib/cjs/response-methods/index.d.ts +3 -0
  44. package/lib/cjs/response-methods/index.d.ts.map +1 -1
  45. package/lib/cjs/response-methods/index.js +3 -0
  46. package/lib/cjs/response-methods/index.js.map +1 -1
  47. package/lib/cjs/response-methods/redirect.d.ts +11 -4
  48. package/lib/cjs/response-methods/redirect.d.ts.map +1 -1
  49. package/lib/cjs/response-methods/redirect.js +14 -4
  50. package/lib/cjs/response-methods/redirect.js.map +1 -1
  51. package/lib/cjs/response-methods/xml.d.ts +17 -0
  52. package/lib/cjs/response-methods/xml.d.ts.map +1 -0
  53. package/lib/cjs/response-methods/xml.js +26 -0
  54. package/lib/cjs/response-methods/xml.js.map +1 -0
  55. package/lib/cjs/responses.d.ts +10 -0
  56. package/lib/cjs/responses.d.ts.map +1 -1
  57. package/lib/cjs/responses.js +94 -35
  58. package/lib/cjs/responses.js.map +1 -1
  59. package/lib/cjs/route-args/FromBody.d.ts.map +1 -1
  60. package/lib/cjs/route-args/FromBody.js +6 -1
  61. package/lib/cjs/route-args/FromBody.js.map +1 -1
  62. package/lib/cjs/route-args/FromForm.d.ts +1 -1
  63. package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
  64. package/lib/cjs/route-args/FromForm.js +116 -37
  65. package/lib/cjs/route-args/FromForm.js.map +1 -1
  66. package/lib/cjs/route-args/FromXml.d.ts +17 -0
  67. package/lib/cjs/route-args/FromXml.d.ts.map +1 -0
  68. package/lib/cjs/route-args/FromXml.js +55 -0
  69. package/lib/cjs/route-args/FromXml.js.map +1 -0
  70. package/lib/cjs/route-args/RequestContext.d.ts +43 -0
  71. package/lib/cjs/route-args/RequestContext.d.ts.map +1 -0
  72. package/lib/cjs/route-args/RequestContext.js +94 -0
  73. package/lib/cjs/route-args/RequestContext.js.map +1 -0
  74. package/lib/cjs/route-args/RequestFields.d.ts +1 -1
  75. package/lib/cjs/route-args/RequestFields.d.ts.map +1 -1
  76. package/lib/cjs/route-args/RequestFields.js +1 -0
  77. package/lib/cjs/route-args/RequestFields.js.map +1 -1
  78. package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
  79. package/lib/cjs/route-args/RouteArgs.js +50 -10
  80. package/lib/cjs/route-args/RouteArgs.js.map +1 -1
  81. package/lib/cjs/route-args/index.d.ts +2 -0
  82. package/lib/cjs/route-args/index.d.ts.map +1 -1
  83. package/lib/cjs/route-args/index.js +2 -0
  84. package/lib/cjs/route-args/index.js.map +1 -1
  85. package/lib/cjs/server.d.ts +36 -3
  86. package/lib/cjs/server.d.ts.map +1 -1
  87. package/lib/cjs/server.js +131 -42
  88. package/lib/cjs/server.js.map +1 -1
  89. package/lib/mjs/config/http.d.ts.map +1 -1
  90. package/lib/mjs/config/http.js +11 -0
  91. package/lib/mjs/config/http.js.map +1 -1
  92. package/lib/mjs/controllers.d.ts.map +1 -1
  93. package/lib/mjs/controllers.js +46 -10
  94. package/lib/mjs/controllers.js.map +1 -1
  95. package/lib/mjs/decorators.d.ts +46 -4
  96. package/lib/mjs/decorators.d.ts.map +1 -1
  97. package/lib/mjs/decorators.js +121 -24
  98. package/lib/mjs/decorators.js.map +1 -1
  99. package/lib/mjs/error.js +3 -3
  100. package/lib/mjs/error.js.map +1 -1
  101. package/lib/mjs/file-middlewares/validation.d.ts +11 -0
  102. package/lib/mjs/file-middlewares/validation.d.ts.map +1 -1
  103. package/lib/mjs/file-middlewares/validation.js +53 -10
  104. package/lib/mjs/file-middlewares/validation.js.map +1 -1
  105. package/lib/mjs/file-middlewares/zip.d.ts.map +1 -1
  106. package/lib/mjs/file-middlewares/zip.js +6 -1
  107. package/lib/mjs/file-middlewares/zip.js.map +1 -1
  108. package/lib/mjs/index.d.ts +1 -0
  109. package/lib/mjs/index.d.ts.map +1 -1
  110. package/lib/mjs/index.js +1 -0
  111. package/lib/mjs/index.js.map +1 -1
  112. package/lib/mjs/interfaces.d.ts +95 -1
  113. package/lib/mjs/interfaces.d.ts.map +1 -1
  114. package/lib/mjs/interfaces.js +65 -2
  115. package/lib/mjs/interfaces.js.map +1 -1
  116. package/lib/mjs/middlewares/PerfRollup.d.ts +19 -0
  117. package/lib/mjs/middlewares/PerfRollup.d.ts.map +1 -0
  118. package/lib/mjs/middlewares/PerfRollup.js +58 -0
  119. package/lib/mjs/middlewares/PerfRollup.js.map +1 -0
  120. package/lib/mjs/middlewares/RequestId.d.ts +1 -2
  121. package/lib/mjs/middlewares/RequestId.d.ts.map +1 -1
  122. package/lib/mjs/middlewares/RequestId.js +19 -5
  123. package/lib/mjs/middlewares/RequestId.js.map +1 -1
  124. package/lib/mjs/middlewares/ResponseTime.d.ts +1 -2
  125. package/lib/mjs/middlewares/ResponseTime.d.ts.map +1 -1
  126. package/lib/mjs/middlewares/ResponseTime.js +29 -11
  127. package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
  128. package/lib/mjs/response-methods/file.d.ts.map +1 -1
  129. package/lib/mjs/response-methods/file.js +41 -15
  130. package/lib/mjs/response-methods/file.js.map +1 -1
  131. package/lib/mjs/response-methods/index.d.ts +3 -0
  132. package/lib/mjs/response-methods/index.d.ts.map +1 -1
  133. package/lib/mjs/response-methods/index.js +3 -0
  134. package/lib/mjs/response-methods/index.js.map +1 -1
  135. package/lib/mjs/response-methods/redirect.d.ts +11 -4
  136. package/lib/mjs/response-methods/redirect.d.ts.map +1 -1
  137. package/lib/mjs/response-methods/redirect.js +15 -5
  138. package/lib/mjs/response-methods/redirect.js.map +1 -1
  139. package/lib/mjs/response-methods/xml.d.ts +17 -0
  140. package/lib/mjs/response-methods/xml.d.ts.map +1 -0
  141. package/lib/mjs/response-methods/xml.js +22 -0
  142. package/lib/mjs/response-methods/xml.js.map +1 -0
  143. package/lib/mjs/responses.d.ts +10 -0
  144. package/lib/mjs/responses.d.ts.map +1 -1
  145. package/lib/mjs/responses.js +93 -35
  146. package/lib/mjs/responses.js.map +1 -1
  147. package/lib/mjs/route-args/FromBody.d.ts.map +1 -1
  148. package/lib/mjs/route-args/FromBody.js +6 -1
  149. package/lib/mjs/route-args/FromBody.js.map +1 -1
  150. package/lib/mjs/route-args/FromForm.d.ts +1 -1
  151. package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
  152. package/lib/mjs/route-args/FromForm.js +114 -38
  153. package/lib/mjs/route-args/FromForm.js.map +1 -1
  154. package/lib/mjs/route-args/FromXml.d.ts +17 -0
  155. package/lib/mjs/route-args/FromXml.d.ts.map +1 -0
  156. package/lib/mjs/route-args/FromXml.js +52 -0
  157. package/lib/mjs/route-args/FromXml.js.map +1 -0
  158. package/lib/mjs/route-args/RequestContext.d.ts +43 -0
  159. package/lib/mjs/route-args/RequestContext.d.ts.map +1 -0
  160. package/lib/mjs/route-args/RequestContext.js +91 -0
  161. package/lib/mjs/route-args/RequestContext.js.map +1 -0
  162. package/lib/mjs/route-args/RequestFields.d.ts +1 -1
  163. package/lib/mjs/route-args/RequestFields.d.ts.map +1 -1
  164. package/lib/mjs/route-args/RequestFields.js +1 -0
  165. package/lib/mjs/route-args/RequestFields.js.map +1 -1
  166. package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
  167. package/lib/mjs/route-args/RouteArgs.js +51 -11
  168. package/lib/mjs/route-args/RouteArgs.js.map +1 -1
  169. package/lib/mjs/route-args/index.d.ts +2 -0
  170. package/lib/mjs/route-args/index.d.ts.map +1 -1
  171. package/lib/mjs/route-args/index.js +2 -0
  172. package/lib/mjs/route-args/index.js.map +1 -1
  173. package/lib/mjs/server.d.ts +36 -3
  174. package/lib/mjs/server.d.ts.map +1 -1
  175. package/lib/mjs/server.js +132 -43
  176. package/lib/mjs/server.js.map +1 -1
  177. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  178. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  179. package/package.json +16 -12
@@ -37,6 +37,7 @@ exports._setCoockies = _setCoockies;
37
37
  exports._setHeaders = _setHeaders;
38
38
  exports.jsonResponse = jsonResponse;
39
39
  exports.textResponse = textResponse;
40
+ exports.xmlResponse = xmlResponse;
40
41
  exports.htmlResponse = htmlResponse;
41
42
  exports.httpResponse = httpResponse;
42
43
  const interfaces_js_1 = require("./interfaces.js");
@@ -45,8 +46,15 @@ const di_1 = require("@spinajs/di");
45
46
  const log_common_1 = require("@spinajs/log-common");
46
47
  const randomstring = __importStar(require("randomstring"));
47
48
  const templates_1 = require("@spinajs/templates");
48
- const index_js_1 = require("./index.js");
49
+ // NOTE: import the exception, not the `ServerError` *response* from './index.js'.
50
+ // That barrel import created the cycle interfaces -> responses -> index ->
51
+ // response-methods/badRequest -> interfaces, which blew up with
52
+ // "Cannot access 'Response' before initialization" whenever a module other
53
+ // than index.js (eg. server.js) was the entry point. `UnexpectedServerError`
54
+ // is mapped back to the ServerError response by __handle_error__ anyway.
55
+ const exceptions_1 = require("@spinajs/exceptions");
49
56
  const cs = __importStar(require("cookie-signature"));
57
+ const fast_xml_parser_1 = require("fast-xml-parser");
50
58
  function _setCoockies(res, options) {
51
59
  const cfg = di_1.DI.get(configuration_1.Configuration);
52
60
  if (!cfg) {
@@ -86,7 +94,9 @@ function jsonResponse(model, options) {
86
94
  res.status(options?.StatusCode ? options?.StatusCode : interfaces_js_1.HTTP_STATUS_CODE.OK);
87
95
  _setCoockies(res, options);
88
96
  _setHeaders(res, options);
89
- if (model) {
97
+ // Presence check, not truthiness: 0 / false / '' are valid JSON bodies and
98
+ // must be sent. Only undefined / null mean "no body".
99
+ if (model !== undefined && model !== null) {
90
100
  res.json(model);
91
101
  }
92
102
  else {
@@ -105,10 +115,36 @@ function textResponse(model, options) {
105
115
  res.status(options?.StatusCode ? options?.StatusCode : interfaces_js_1.HTTP_STATUS_CODE.OK);
106
116
  _setCoockies(res, options);
107
117
  _setHeaders(res, options);
108
- if (model) {
118
+ // Presence check, not truthiness: 0 / false / '' are valid bodies. Only
119
+ // undefined / null end the response empty (and always terminate it —
120
+ // otherwise a missing body on this fallback path hangs until timeout).
121
+ if (model !== undefined && model !== null) {
109
122
  res.set('Content-Type', 'text/plain');
110
123
  res.send(JSON.stringify(model));
111
124
  }
125
+ else {
126
+ res.end();
127
+ }
128
+ };
129
+ }
130
+ /**
131
+ * Serializes data to an XML body. The payload should be a plain object graph;
132
+ * arrays and scalars are wrapped under a `<response>` root so the output is a
133
+ * single well-formed document.
134
+ *
135
+ * @param model - data to serialize
136
+ * @param options - response options (status, headers, cookies)
137
+ * @param xmlOptions - fast-xml-parser XMLBuilder options
138
+ */
139
+ function xmlResponse(model, options, xmlOptions) {
140
+ return (_req, res) => {
141
+ res.status(options?.StatusCode ? options.StatusCode : interfaces_js_1.HTTP_STATUS_CODE.OK);
142
+ _setCoockies(res, options);
143
+ _setHeaders(res, options);
144
+ res.set('Content-Type', 'application/xml');
145
+ const builder = new fast_xml_parser_1.XMLBuilder({ ignoreAttributes: false, ...xmlOptions });
146
+ const payload = model !== null && typeof model === 'object' && !Array.isArray(model) ? model : { response: model };
147
+ res.send(builder.build(payload));
112
148
  };
113
149
  }
114
150
  /**
@@ -205,44 +241,67 @@ function httpResponse(model, template, options) {
205
241
  })(req, res);
206
242
  }
207
243
  };
208
- return (req, res) => {
209
- if (req.accepts('html') && (acceptedHeaders & interfaces_js_1.HttpAcceptHeaders.HTML) === interfaces_js_1.HttpAcceptHeaders.HTML) {
210
- const fs = di_1.DI.resolve('__file_provider__', ['__fs_http_response_templates__']);
211
- if (!fs) {
212
- throw new index_js_1.ServerError('file provider __fs_http_response_templates__ not set. Pleas set response template file provider for html http default responses !');
213
- }
214
- fs.download(template)
215
- .then((file) => {
216
- htmlResponse(file, model, options)(req, res);
217
- })
218
- .catch((err) => {
219
- const log = di_1.DI.resolve(log_common_1.Log, ['http']);
220
- log.warn(`Cannot render html file ${template}, error: ${err.message}:${err.stack}`, err);
221
- fs.download('serverError.pug').then((file) => {
222
- // try to render server error response
223
- htmlResponse(file, { error: err }, {
224
- ...options,
225
- StatusCode: interfaces_js_1.HTTP_STATUS_CODE.INTERNAL_ERROR,
226
- })(req, res);
227
- });
244
+ const htmlBranch = (req, res) => {
245
+ const fs = di_1.DI.resolve('__file_provider__', ['__fs_http_response_templates__']);
246
+ if (!fs) {
247
+ throw new exceptions_1.UnexpectedServerError('file provider __fs_http_response_templates__ not set. Pleas set response template file provider for html http default responses !');
248
+ }
249
+ fs.download(template)
250
+ .then((file) => {
251
+ htmlResponse(file, model, options)(req, res);
252
+ })
253
+ .catch((err) => {
254
+ const log = di_1.DI.resolve(log_common_1.Log, ['http']);
255
+ log.warn(`Cannot render html file ${template}, error: ${err.message}:${err.stack}`, err);
256
+ fs.download('serverError.pug').then((file) => {
257
+ // try to render server error response
258
+ htmlResponse(file, { error: err }, {
259
+ ...options,
260
+ StatusCode: interfaces_js_1.HTTP_STATUS_CODE.INTERNAL_ERROR,
261
+ })(req, res);
228
262
  });
263
+ });
264
+ };
265
+ const jsonBranch = (req, res) => {
266
+ if (options && options.StatusCode && options.StatusCode >= 400) {
267
+ errorTransform(req, res);
229
268
  }
230
- else if (req.accepts('json') && (acceptedHeaders & interfaces_js_1.HttpAcceptHeaders.JSON) === interfaces_js_1.HttpAcceptHeaders.JSON) {
231
- if (options && options.StatusCode && options.StatusCode >= 400) {
232
- errorTransform(req, res);
233
- }
234
- else {
235
- if (req.headers['x-data-transform']) {
236
- dataTransform(req, res);
237
- }
238
- else {
239
- jsonResponse(model, options)(req, res);
240
- }
241
- }
269
+ else if (req.headers['x-data-transform']) {
270
+ dataTransform(req, res);
242
271
  }
243
272
  else {
273
+ jsonResponse(model, options)(req, res);
274
+ }
275
+ };
276
+ return (req, res) => {
277
+ // Offer the types the server is configured to produce, JSON first so a
278
+ // wildcard / absent Accept (*/*) defaults to JSON rather than HTML. Explicit
279
+ // client preferences (order / q-values) are still honored by req.accepts.
280
+ const offered = [];
281
+ if ((acceptedHeaders & interfaces_js_1.HttpAcceptHeaders.JSON) === interfaces_js_1.HttpAcceptHeaders.JSON)
282
+ offered.push('json');
283
+ if ((acceptedHeaders & interfaces_js_1.HttpAcceptHeaders.HTML) === interfaces_js_1.HttpAcceptHeaders.HTML)
284
+ offered.push('html');
285
+ if ((acceptedHeaders & interfaces_js_1.HttpAcceptHeaders.XML) === interfaces_js_1.HttpAcceptHeaders.XML)
286
+ offered.push('xml');
287
+ const best = offered.length ? req.accepts(offered) : false;
288
+ if (best === 'html') {
289
+ htmlBranch(req, res);
290
+ }
291
+ else if (best === 'json') {
292
+ jsonBranch(req, res);
293
+ }
294
+ else if (best === 'xml') {
295
+ xmlResponse(model, options)(req, res);
296
+ }
297
+ else if (req.accepts('text/plain')) {
298
+ // Client accepts plain text (or the config offers nothing negotiable).
244
299
  textResponse(model, options)(req, res);
245
300
  }
301
+ else {
302
+ // Client explicitly asked for a media type the server can't produce.
303
+ jsonResponse({ error: { message: 'Not Acceptable', code: interfaces_js_1.HTTP_STATUS_CODE.NOT_ACCEPTABLE } }, { ...options, StatusCode: interfaces_js_1.HTTP_STATUS_CODE.NOT_ACCEPTABLE })(req, res);
304
+ }
246
305
  };
247
306
  }
248
307
  //# sourceMappingURL=responses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/responses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FromBody.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,qBACa,QAAS,SAAQ,SAAS;IACrC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CASnJ"}
1
+ {"version":3,"file":"FromBody.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,qBACa,QAAS,SAAQ,SAAS;IACrC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAenJ"}
@@ -18,7 +18,12 @@ let FromBody = class FromBody extends RouteArgs_js_1.RouteArgs {
18
18
  if (!req.body) {
19
19
  return { CallData: callData, Args: null };
20
20
  }
21
- const arg = req.body[param.Name] ? req.body[param.Name] : [...route.Parameters.values()].filter((p) => p.Type === interfaces_js_1.ParameterType.FromBody).length === 1 ? req.body : null;
21
+ // Use presence, not truthiness a body field legitimately holding 0,
22
+ // false or '' must map to that value, not be treated as absent (which
23
+ // would wrongly fall through to passing the whole body).
24
+ const hasNamedField = Object.prototype.hasOwnProperty.call(req.body, param.Name);
25
+ const isSingleBodyParam = [...route.Parameters.values()].filter((p) => p.Type === interfaces_js_1.ParameterType.FromBody).length === 1;
26
+ const arg = hasNamedField ? req.body[param.Name] : isSingleBodyParam ? req.body : null;
22
27
  let result = await this.tryHydrateParam(arg, param, route);
23
28
  return { CallData: callData, Args: result };
24
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FromBody.js","sourceRoot":"","sources":["../../../src/route-args/FromBody.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA2C;AAC3C,oDAAsF;AAEtF,oCAAyC;AAGlC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,wBAAS;IACrC,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAChJ,IAAG,CAAC,GAAG,CAAC,IAAI,EAAC,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,6BAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzK,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AAdY,4BAAQ;mBAAR,QAAQ;IADpB,IAAA,eAAU,GAAE;GACA,QAAQ,CAcpB"}
1
+ {"version":3,"file":"FromBody.js","sourceRoot":"","sources":["../../../src/route-args/FromBody.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA2C;AAC3C,oDAAsF;AAEtF,oCAAyC;AAGlC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,wBAAS;IACrC,IAAW,aAAa;QACtB,OAAO,6BAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAChJ,IAAG,CAAC,GAAG,CAAC,IAAI,EAAC,CAAC;YACZ,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,sEAAsE;QACtE,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,6BAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QACvH,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvF,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AApBY,4BAAQ;mBAAR,QAAQ;IADpB,IAAA,eAAU,GAAE;GACA,QAAQ,CAoBpB"}
@@ -85,7 +85,7 @@ export declare class FromCSV extends FromFormBase {
85
85
  export declare class FromFormField extends FromFormBase {
86
86
  get SupportedType(): ParameterType;
87
87
  extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: Request, res: express.Response, route?: IRoute): Promise<{
88
- Args: string | IRouteArgsResult;
88
+ Args: any;
89
89
  CallData: IRouteCall;
90
90
  }>;
91
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FromForm.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FromForm.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.FromForm = exports.FromFormField = exports.FromCSV = exports.FromJsonFile = exports.FromFile = exports.FromFormBase = void 0;
13
16
  const RouteArgs_js_1 = require("./RouteArgs.js");
@@ -26,6 +29,7 @@ const exceptions_js_1 = require("../exceptions.js");
26
29
  const exceptions_1 = require("@spinajs/exceptions");
27
30
  const fs_3 = require("@spinajs/fs");
28
31
  const ImmediateFileUploader_js_1 = require("../uploaders/ImmediateFileUploader.js");
32
+ const qs_1 = __importDefault(require("qs"));
29
33
  const parseForm = (req, options) => {
30
34
  const form = new formidable_1.IncomingForm(options);
31
35
  return new Promise((res, rej) => {
@@ -44,6 +48,40 @@ const parseForm = (req, options) => {
44
48
  });
45
49
  });
46
50
  };
51
+ /**
52
+ * Collects settled upload results. All uploads are attempted (we use
53
+ * allSettled so one failure doesn't abort the rest), but any rejection is
54
+ * surfaced as an IOFail instead of being silently dropped — otherwise a failed
55
+ * upload would just vanish from the result with the client getting a 200 and
56
+ * fewer (or zero) files than it sent.
57
+ */
58
+ function collectUploads(results) {
59
+ const rejected = results.filter((r) => r.status === 'rejected');
60
+ if (rejected.length > 0) {
61
+ const reasons = rejected.map((r) => r.reason?.message ?? String(r.reason)).join('; ');
62
+ throw new exceptions_1.IOFail(`Failed to upload ${rejected.length} file(s): ${reasons}`);
63
+ }
64
+ return results.map((r) => r.value);
65
+ }
66
+ /**
67
+ * Best-effort removal of the intermediate formidable temp files. Used on the
68
+ * error path so a failed upload/validation doesn't leak files in the upload
69
+ * temp dir. Swallows per-file errors (a file may already have been moved or
70
+ * removed by a transform middleware).
71
+ */
72
+ async function cleanupTempFiles(files) {
73
+ await Promise.allSettled(files.map(async (f) => {
74
+ const p = f?.OriginalFile?.filepath;
75
+ if (!p)
76
+ return;
77
+ try {
78
+ await fs_2.promises.unlink(p);
79
+ }
80
+ catch {
81
+ /* already gone / moved — nothing to clean */
82
+ }
83
+ }));
84
+ }
47
85
  class FromFormBase extends RouteArgs_js_1.RouteArgs {
48
86
  async extract(callData, _args, routeParameter, req, _res, _route) {
49
87
  if (!this.FormData) {
@@ -149,31 +187,43 @@ let FromFile = class FromFile extends FromFormBase {
149
187
  const { service, options } = m;
150
188
  return di_1.DI.resolve(service, [options]);
151
189
  });
152
- for (const m of middlewares) {
153
- for (const f of uplFiles) {
154
- this.Log.trace(`Executing file middleware ${m.constructor.name} for file ${f.Name}`);
155
- const result = await m.beforeUpload(f, uploadOptions);
156
- // merge transform result
157
- Object.assign(f, result);
190
+ try {
191
+ for (const m of middlewares) {
192
+ for (const f of uplFiles) {
193
+ this.Log.trace(`Executing file middleware ${m.constructor.name} for file ${f.Name}`);
194
+ const result = await m.beforeUpload(f, uploadOptions);
195
+ // merge transform result
196
+ Object.assign(f, result);
197
+ }
198
+ }
199
+ // copy to target fs if different than default temp fs
200
+ if (uploadFs && this.DefaultUploadFs.Name !== uploadFs.Name) {
201
+ const fu = di_1.DI.resolve(ImmediateFileUploader_js_1.ImmediateFileUploader, [{ sourceFs: this.DefaultUploadFs, deleteSource: true }]);
202
+ const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
203
+ uFiles = collectUploads(pResults);
204
+ }
205
+ // if any uploader is set in options, use it to upload files
206
+ // additionaly
207
+ if (uploadOptions.uploader) {
208
+ const type = uploadOptions.uploader.service ?? uploadOptions.uploader;
209
+ const options = uploadOptions.uploader.options ?? {};
210
+ const fu = di_1.DI.resolve(type, [options]);
211
+ const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
212
+ uFiles = collectUploads(pResults);
158
213
  }
159
214
  }
160
- // copy to target fs if different than default temp fs
161
- if (uploadFs && this.DefaultUploadFs.Name !== uploadFs.Name) {
162
- const fu = di_1.DI.resolve(ImmediateFileUploader_js_1.ImmediateFileUploader, [{ sourceFs: this.DefaultUploadFs, deleteSource: true }]);
163
- const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
164
- uFiles = pResults.filter((r) => r.status === 'fulfilled').map((r) => r.value);
165
- }
166
- // if any uploader is set in options, use it to upload files
167
- // additionaly
168
- if (uploadOptions.uploader) {
169
- const type = uploadOptions.uploader.service ?? uploadOptions.uploader;
170
- const options = uploadOptions.uploader.options ?? {};
171
- const fu = di_1.DI.resolve(type, [options]);
172
- const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
173
- uFiles = pResults.filter((r) => r.status === 'fulfilled').map((r) => r.value);
215
+ catch (err) {
216
+ // A failed validation / middleware / upload would otherwise leave the
217
+ // intermediate formidable temp files in the upload temp dir forever.
218
+ // Best-effort clean them up before propagating the error.
219
+ await cleanupTempFiles(uplFiles);
220
+ throw err;
174
221
  }
222
+ // @Files() forces an array result via the asArray option; @File() infers it
223
+ // from the declared parameter type.
224
+ const asArray = param.RuntimeType.name === 'Array' || param.Options?.asArray === true;
175
225
  return Object.assign(result, {
176
- Args: param.RuntimeType.name === 'Array' ? uFiles : uFiles[0],
226
+ Args: asArray ? uFiles : uFiles[0],
177
227
  });
178
228
  }
179
229
  };
@@ -205,13 +255,26 @@ let FromJsonFile = class FromJsonFile extends FromFile {
205
255
  throw new exceptions_1.BadRequest('Missing JSON file');
206
256
  }
207
257
  const sourceFile = file.filepath;
208
- const content = await fs_2.promises.readFile(sourceFile, { encoding: param.Options.Encoding ?? 'utf-8', flag: 'r' });
209
- if (param.Options.DeleteFile) {
258
+ // `param.Options` is undefined when @JsonFile() is used with no options, so
259
+ // guard every access. Accept both `Encoding` and the IUploadOptions
260
+ // `encoding` casing; default to utf-8 for JSON parsing.
261
+ const encoding = (param.Options?.Encoding ?? param.Options?.encoding ?? 'utf-8');
262
+ const content = await fs_2.promises.readFile(sourceFile, { encoding, flag: 'r' });
263
+ if (param.Options?.DeleteFile) {
210
264
  await fs_2.promises.unlink(sourceFile);
211
265
  }
266
+ // A malformed uploaded JSON file is a client error (400), not an unhandled
267
+ // 500 out of the extractor.
268
+ let parsed;
269
+ try {
270
+ parsed = JSON.parse(content.toString());
271
+ }
272
+ catch (err) {
273
+ throw new exceptions_1.BadRequest(`Uploaded JSON file is invalid: ${err.message}`);
274
+ }
212
275
  return {
213
276
  ...data,
214
- Args: JSON.parse(content.toString()),
277
+ Args: parsed,
215
278
  };
216
279
  }
217
280
  };
@@ -241,7 +304,14 @@ let FromCSV = class FromCSV extends FromFormBase {
241
304
  if (schema) {
242
305
  this.validateCsvData(csvData, schema);
243
306
  }
244
- const args = await Promise.all(csvData.map((x) => this.tryHydrateParam(x, param, route)));
307
+ // The param describes the WHOLE csv file, but rows are hydrated one at a
308
+ // time. When it is declared as a typed array ( @Type(Array.ofType(X)) ) each
309
+ // row must be hydrated to the ELEMENT type X - feeding a single row to the
310
+ // whole-array TypedArray path would reject it as "must be a JSON array",
311
+ // and would look for an array schema where a row schema is wanted.
312
+ // @Body @Type(Array.ofType(X)) keeps the whole-array path, untouched.
313
+ const rowParam = param.RuntimeType instanceof di_1.TypedArray ? { ...param, RuntimeType: param.RuntimeType.Type } : param;
314
+ const args = await Promise.all(csvData.map((x) => this.tryHydrateParam(x, rowParam, route)));
245
315
  return {
246
316
  ...data,
247
317
  Args: args,
@@ -303,12 +373,17 @@ let FromFormField = class FromFormField extends FromFormBase {
303
373
  if (!field) {
304
374
  throw new exceptions_1.BadRequest(`Form field ${param.Name} is required`);
305
375
  }
376
+ // By default a form field is delivered as an array; collapse to a single
377
+ // value when the route param isn't an array and only one value was sent,
378
+ // otherwise pass the whole values array (NOT `data`, the CallData wrapper).
379
+ const raw = field.length === 1 && param.RuntimeType.name !== 'Array' ? field[0] : field;
380
+ // Run through the standard hydration/validation path so a @FormField(schema)
381
+ // is actually enforced and the value is coerced to the declared runtime type
382
+ // (form fields always arrive as strings).
383
+ const result = await this.tryHydrateParam(raw, param, route);
306
384
  return {
307
385
  ...data,
308
- // by default form field is returned in array,
309
- // we assume that if length is 1 we want single param
310
- // when route param is not array
311
- Args: field.length === 1 && param.RuntimeType.name !== 'Array' ? field[0] : data,
386
+ Args: result,
312
387
  };
313
388
  }
314
389
  };
@@ -327,14 +402,18 @@ let FromForm = class FromForm extends FromFormBase {
327
402
  }
328
403
  async extract(callData, _args, param, req, res, route) {
329
404
  const data = await super.extract(callData, _args, param, req, res, route);
330
- let result = null;
331
- // todo
332
- // refactor to support arrays in object
333
- // and array of objects
334
- const fData = Object.fromEntries(Object.entries(this.FormData.Fields).map(([key, value]) => {
335
- return [key, value[0]];
336
- }));
337
- result = await this.tryHydrateParam(fData, param, route);
405
+ // Build a querystring from the raw form fields (keys keep their `[]` / `[key]`
406
+ // bracket syntax, values are percent-encoded) and let qs parse it. This
407
+ // yields arrays for `field[]` / repeated fields and nested objects for
408
+ // `field[key]` / `field[a][b]`, matching express.urlencoded({ extended: true }).
409
+ const pairs = [];
410
+ for (const [key, values] of Object.entries(this.FormData.Fields)) {
411
+ for (const v of values ?? []) {
412
+ pairs.push(`${key}=${encodeURIComponent(String(v))}`);
413
+ }
414
+ }
415
+ const fData = qs_1.default.parse(pairs.join('&'));
416
+ const result = await this.tryHydrateParam(fData, param, route);
338
417
  return {
339
418
  ...data,
340
419
  Args: result,
@@ -1 +1 @@
1
- {"version":3,"file":"FromForm.js","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FromForm.js","sourceRoot":"","sources":["../../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { RouteArgs, IRouteArgsResult } from './RouteArgs.js';
2
+ import { IRouteParameter, ParameterType, IRouteCall, Request } from '../interfaces.js';
3
+ import { X2jOptions } from 'fast-xml-parser';
4
+ /**
5
+ * Parses an XML request body into a plain object.
6
+ *
7
+ * Relies on the `express.text` body parser (configured for XML content types)
8
+ * having placed the raw XML string in `req.body`. `@FromXml()` may be given
9
+ * fast-xml-parser {@link X2jOptions} to customise parsing.
10
+ *
11
+ * Malformed XML is reported as a 400 BadRequest rather than an unhandled 500.
12
+ */
13
+ export declare class FromXmlRouteArgs extends RouteArgs {
14
+ get SupportedType(): ParameterType | string;
15
+ extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter<Partial<X2jOptions>>, req: Request): Promise<IRouteArgsResult>;
16
+ }
17
+ //# sourceMappingURL=FromXml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FromXml.d.ts","sourceRoot":"","sources":["../../../src/route-args/FromXml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGvF,OAAO,EAA2B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;;;;;;GAQG;AACH,qBACa,gBAAiB,SAAQ,SAAS;IAC7C,IAAW,aAAa,IAAI,aAAa,GAAG,MAAM,CAEjD;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAyBnJ"}