@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
@@ -11,7 +11,7 @@ import { RouteArgs } from './RouteArgs.js';
11
11
  import { ParameterType } from '../interfaces.js';
12
12
  import { IncomingForm } from 'formidable';
13
13
  import { Config } from '@spinajs/configuration';
14
- import { Autoinject, DI, Injectable, NewInstance } from '@spinajs/di';
14
+ import { Autoinject, DI, Injectable, NewInstance, TypedArray } from '@spinajs/di';
15
15
  import { parse } from 'csv';
16
16
  import { fs, fsNative } from '@spinajs/fs';
17
17
  import { createReadStream, promises } from 'fs';
@@ -23,6 +23,7 @@ import { EntityTooLargeException } from '../exceptions.js';
23
23
  import { BadRequest, Exception, IOFail } from '@spinajs/exceptions';
24
24
  import { FileSystem } from "@spinajs/fs";
25
25
  import { ImmediateFileUploader } from '../uploaders/ImmediateFileUploader.js';
26
+ import qs from 'qs';
26
27
  const parseForm = (req, options) => {
27
28
  const form = new IncomingForm(options);
28
29
  return new Promise((res, rej) => {
@@ -41,6 +42,40 @@ const parseForm = (req, options) => {
41
42
  });
42
43
  });
43
44
  };
45
+ /**
46
+ * Collects settled upload results. All uploads are attempted (we use
47
+ * allSettled so one failure doesn't abort the rest), but any rejection is
48
+ * surfaced as an IOFail instead of being silently dropped — otherwise a failed
49
+ * upload would just vanish from the result with the client getting a 200 and
50
+ * fewer (or zero) files than it sent.
51
+ */
52
+ function collectUploads(results) {
53
+ const rejected = results.filter((r) => r.status === 'rejected');
54
+ if (rejected.length > 0) {
55
+ const reasons = rejected.map((r) => r.reason?.message ?? String(r.reason)).join('; ');
56
+ throw new IOFail(`Failed to upload ${rejected.length} file(s): ${reasons}`);
57
+ }
58
+ return results.map((r) => r.value);
59
+ }
60
+ /**
61
+ * Best-effort removal of the intermediate formidable temp files. Used on the
62
+ * error path so a failed upload/validation doesn't leak files in the upload
63
+ * temp dir. Swallows per-file errors (a file may already have been moved or
64
+ * removed by a transform middleware).
65
+ */
66
+ async function cleanupTempFiles(files) {
67
+ await Promise.allSettled(files.map(async (f) => {
68
+ const p = f?.OriginalFile?.filepath;
69
+ if (!p)
70
+ return;
71
+ try {
72
+ await promises.unlink(p);
73
+ }
74
+ catch {
75
+ /* already gone / moved — nothing to clean */
76
+ }
77
+ }));
78
+ }
44
79
  export class FromFormBase extends RouteArgs {
45
80
  async extract(callData, _args, routeParameter, req, _res, _route) {
46
81
  if (!this.FormData) {
@@ -145,31 +180,43 @@ let FromFile = class FromFile extends FromFormBase {
145
180
  const { service, options } = m;
146
181
  return DI.resolve(service, [options]);
147
182
  });
148
- for (const m of middlewares) {
149
- for (const f of uplFiles) {
150
- this.Log.trace(`Executing file middleware ${m.constructor.name} for file ${f.Name}`);
151
- const result = await m.beforeUpload(f, uploadOptions);
152
- // merge transform result
153
- Object.assign(f, result);
183
+ try {
184
+ for (const m of middlewares) {
185
+ for (const f of uplFiles) {
186
+ this.Log.trace(`Executing file middleware ${m.constructor.name} for file ${f.Name}`);
187
+ const result = await m.beforeUpload(f, uploadOptions);
188
+ // merge transform result
189
+ Object.assign(f, result);
190
+ }
191
+ }
192
+ // copy to target fs if different than default temp fs
193
+ if (uploadFs && this.DefaultUploadFs.Name !== uploadFs.Name) {
194
+ const fu = DI.resolve(ImmediateFileUploader, [{ sourceFs: this.DefaultUploadFs, deleteSource: true }]);
195
+ const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
196
+ uFiles = collectUploads(pResults);
197
+ }
198
+ // if any uploader is set in options, use it to upload files
199
+ // additionaly
200
+ if (uploadOptions.uploader) {
201
+ const type = uploadOptions.uploader.service ?? uploadOptions.uploader;
202
+ const options = uploadOptions.uploader.options ?? {};
203
+ const fu = DI.resolve(type, [options]);
204
+ const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
205
+ uFiles = collectUploads(pResults);
154
206
  }
155
207
  }
156
- // copy to target fs if different than default temp fs
157
- if (uploadFs && this.DefaultUploadFs.Name !== uploadFs.Name) {
158
- const fu = DI.resolve(ImmediateFileUploader, [{ sourceFs: this.DefaultUploadFs, deleteSource: true }]);
159
- const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
160
- uFiles = pResults.filter((r) => r.status === 'fulfilled').map((r) => r.value);
161
- }
162
- // if any uploader is set in options, use it to upload files
163
- // additionaly
164
- if (uploadOptions.uploader) {
165
- const type = uploadOptions.uploader.service ?? uploadOptions.uploader;
166
- const options = uploadOptions.uploader.options ?? {};
167
- const fu = DI.resolve(type, [options]);
168
- const pResults = await Promise.allSettled(uplFiles.map((f) => fu.upload(f)));
169
- uFiles = pResults.filter((r) => r.status === 'fulfilled').map((r) => r.value);
208
+ catch (err) {
209
+ // A failed validation / middleware / upload would otherwise leave the
210
+ // intermediate formidable temp files in the upload temp dir forever.
211
+ // Best-effort clean them up before propagating the error.
212
+ await cleanupTempFiles(uplFiles);
213
+ throw err;
170
214
  }
215
+ // @Files() forces an array result via the asArray option; @File() infers it
216
+ // from the declared parameter type.
217
+ const asArray = param.RuntimeType.name === 'Array' || param.Options?.asArray === true;
171
218
  return Object.assign(result, {
172
- Args: param.RuntimeType.name === 'Array' ? uFiles : uFiles[0],
219
+ Args: asArray ? uFiles : uFiles[0],
173
220
  });
174
221
  }
175
222
  };
@@ -201,13 +248,26 @@ let FromJsonFile = class FromJsonFile extends FromFile {
201
248
  throw new BadRequest('Missing JSON file');
202
249
  }
203
250
  const sourceFile = file.filepath;
204
- const content = await promises.readFile(sourceFile, { encoding: param.Options.Encoding ?? 'utf-8', flag: 'r' });
205
- if (param.Options.DeleteFile) {
251
+ // `param.Options` is undefined when @JsonFile() is used with no options, so
252
+ // guard every access. Accept both `Encoding` and the IUploadOptions
253
+ // `encoding` casing; default to utf-8 for JSON parsing.
254
+ const encoding = (param.Options?.Encoding ?? param.Options?.encoding ?? 'utf-8');
255
+ const content = await promises.readFile(sourceFile, { encoding, flag: 'r' });
256
+ if (param.Options?.DeleteFile) {
206
257
  await promises.unlink(sourceFile);
207
258
  }
259
+ // A malformed uploaded JSON file is a client error (400), not an unhandled
260
+ // 500 out of the extractor.
261
+ let parsed;
262
+ try {
263
+ parsed = JSON.parse(content.toString());
264
+ }
265
+ catch (err) {
266
+ throw new BadRequest(`Uploaded JSON file is invalid: ${err.message}`);
267
+ }
208
268
  return {
209
269
  ...data,
210
- Args: JSON.parse(content.toString()),
270
+ Args: parsed,
211
271
  };
212
272
  }
213
273
  };
@@ -237,7 +297,14 @@ let FromCSV = class FromCSV extends FromFormBase {
237
297
  if (schema) {
238
298
  this.validateCsvData(csvData, schema);
239
299
  }
240
- const args = await Promise.all(csvData.map((x) => this.tryHydrateParam(x, param, route)));
300
+ // The param describes the WHOLE csv file, but rows are hydrated one at a
301
+ // time. When it is declared as a typed array ( @Type(Array.ofType(X)) ) each
302
+ // row must be hydrated to the ELEMENT type X - feeding a single row to the
303
+ // whole-array TypedArray path would reject it as "must be a JSON array",
304
+ // and would look for an array schema where a row schema is wanted.
305
+ // @Body @Type(Array.ofType(X)) keeps the whole-array path, untouched.
306
+ const rowParam = param.RuntimeType instanceof TypedArray ? { ...param, RuntimeType: param.RuntimeType.Type } : param;
307
+ const args = await Promise.all(csvData.map((x) => this.tryHydrateParam(x, rowParam, route)));
241
308
  return {
242
309
  ...data,
243
310
  Args: args,
@@ -299,12 +366,17 @@ let FromFormField = class FromFormField extends FromFormBase {
299
366
  if (!field) {
300
367
  throw new BadRequest(`Form field ${param.Name} is required`);
301
368
  }
369
+ // By default a form field is delivered as an array; collapse to a single
370
+ // value when the route param isn't an array and only one value was sent,
371
+ // otherwise pass the whole values array (NOT `data`, the CallData wrapper).
372
+ const raw = field.length === 1 && param.RuntimeType.name !== 'Array' ? field[0] : field;
373
+ // Run through the standard hydration/validation path so a @FormField(schema)
374
+ // is actually enforced and the value is coerced to the declared runtime type
375
+ // (form fields always arrive as strings).
376
+ const result = await this.tryHydrateParam(raw, param, route);
302
377
  return {
303
378
  ...data,
304
- // by default form field is returned in array,
305
- // we assume that if length is 1 we want single param
306
- // when route param is not array
307
- Args: field.length === 1 && param.RuntimeType.name !== 'Array' ? field[0] : data,
379
+ Args: result,
308
380
  };
309
381
  }
310
382
  };
@@ -323,14 +395,18 @@ let FromForm = class FromForm extends FromFormBase {
323
395
  }
324
396
  async extract(callData, _args, param, req, res, route) {
325
397
  const data = await super.extract(callData, _args, param, req, res, route);
326
- let result = null;
327
- // todo
328
- // refactor to support arrays in object
329
- // and array of objects
330
- const fData = Object.fromEntries(Object.entries(this.FormData.Fields).map(([key, value]) => {
331
- return [key, value[0]];
332
- }));
333
- result = await this.tryHydrateParam(fData, param, route);
398
+ // Build a querystring from the raw form fields (keys keep their `[]` / `[key]`
399
+ // bracket syntax, values are percent-encoded) and let qs parse it. This
400
+ // yields arrays for `field[]` / repeated fields and nested objects for
401
+ // `field[key]` / `field[a][b]`, matching express.urlencoded({ extended: true }).
402
+ const pairs = [];
403
+ for (const [key, values] of Object.entries(this.FormData.Fields)) {
404
+ for (const v of values ?? []) {
405
+ pairs.push(`${key}=${encodeURIComponent(String(v))}`);
406
+ }
407
+ }
408
+ const fData = qs.parse(pairs.join('&'));
409
+ const result = await this.tryHydrateParam(fData, param, route);
334
410
  return {
335
411
  ...data,
336
412
  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"}
@@ -0,0 +1,52 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { RouteArgs } from './RouteArgs.js';
8
+ import { ParameterType } from '../interfaces.js';
9
+ import { Injectable } from '@spinajs/di';
10
+ import { BadRequest } from '@spinajs/exceptions';
11
+ import { XMLParser, XMLValidator } from 'fast-xml-parser';
12
+ /**
13
+ * Parses an XML request body into a plain object.
14
+ *
15
+ * Relies on the `express.text` body parser (configured for XML content types)
16
+ * having placed the raw XML string in `req.body`. `@FromXml()` may be given
17
+ * fast-xml-parser {@link X2jOptions} to customise parsing.
18
+ *
19
+ * Malformed XML is reported as a 400 BadRequest rather than an unhandled 500.
20
+ */
21
+ let FromXmlRouteArgs = class FromXmlRouteArgs extends RouteArgs {
22
+ get SupportedType() {
23
+ return ParameterType.FromXml;
24
+ }
25
+ async extract(callData, _args, param, req) {
26
+ const body = req.body;
27
+ // No body -> nothing to parse (keep optional params optional).
28
+ if (body === undefined || body === null || body === '') {
29
+ return { CallData: callData, Args: null };
30
+ }
31
+ // Already an object (some upstream parser handled it) -> pass through.
32
+ if (typeof body !== 'string') {
33
+ return { CallData: callData, Args: body };
34
+ }
35
+ const valid = XMLValidator.validate(body);
36
+ if (valid !== true) {
37
+ throw new BadRequest(`Invalid XML body: ${valid.err?.msg ?? 'malformed XML'}`);
38
+ }
39
+ const parser = new XMLParser({ ignoreAttributes: false, ...(param.Options ?? {}) });
40
+ try {
41
+ return { CallData: callData, Args: parser.parse(body) };
42
+ }
43
+ catch (err) {
44
+ throw new BadRequest(`Invalid XML body: ${err.message}`);
45
+ }
46
+ }
47
+ };
48
+ FromXmlRouteArgs = __decorate([
49
+ Injectable()
50
+ ], FromXmlRouteArgs);
51
+ export { FromXmlRouteArgs };
52
+ //# sourceMappingURL=FromXml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FromXml.js","sourceRoot":"","sources":["../../../src/route-args/FromXml.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAmB,aAAa,EAAuB,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAc,MAAM,iBAAiB,CAAC;AAEtE;;;;;;;;GAQG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,SAAS;IAC7C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,KAA2C,EAAE,GAAY;QACpH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAEtB,+DAA+D;QAC/D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACvD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,uEAAuE;QACvE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAAC,qBAAqB,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,UAAU,CAAC,qBAAsB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;CACF,CAAA;AA9BY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CA8B5B"}
@@ -0,0 +1,43 @@
1
+ import { RouteArgs, IRouteArgsResult } from './RouteArgs.js';
2
+ import { IRouteParameter, ParameterType, IRouteCall, Request } from '../interfaces.js';
3
+ /**
4
+ * Client IP address, as resolved by the RealIp middleware
5
+ * (`req.storage.realIp`, X-Forwarded-For aware with socket fallback).
6
+ */
7
+ export declare class IpRouteArgs extends RouteArgs {
8
+ get SupportedType(): ParameterType | string;
9
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: Request): Promise<IRouteArgsResult>;
10
+ }
11
+ /**
12
+ * Per-request correlation id set by the RequestId middleware. Same value as
13
+ * the `x-request-id` response header.
14
+ */
15
+ export declare class RequestIdRouteArgs extends RouteArgs {
16
+ get SupportedType(): ParameterType | string;
17
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: Request): Promise<IRouteArgsResult>;
18
+ }
19
+ /**
20
+ * `User-Agent` request header.
21
+ */
22
+ export declare class UserAgentRouteArgs extends RouteArgs {
23
+ get SupportedType(): ParameterType | string;
24
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: Request): Promise<IRouteArgsResult>;
25
+ }
26
+ /**
27
+ * `Referer` request header, accepting the alternative `Referrer` spelling.
28
+ */
29
+ export declare class RefererRouteArgs extends RouteArgs {
30
+ get SupportedType(): ParameterType | string;
31
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: Request): Promise<IRouteArgsResult>;
32
+ }
33
+ /**
34
+ * Raw request body as a Buffer, captured by the express.json `verify` hook.
35
+ * Intended for webhook signature verification, where the exact received bytes
36
+ * must be hashed (JSON round-tripping would change them). Available for JSON
37
+ * requests; undefined otherwise.
38
+ */
39
+ export declare class RawBodyRouteArgs extends RouteArgs {
40
+ get SupportedType(): ParameterType | string;
41
+ extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: Request): Promise<IRouteArgsResult>;
42
+ }
43
+ //# sourceMappingURL=RequestContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../../../src/route-args/RequestContext.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;;;GAGG;AACH,qBACa,WAAY,SAAQ,SAAS;IACxC,IAAW,aAAa,IAAI,aAAa,GAAG,MAAM,CAEjD;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG/H;AAED;;;GAGG;AACH,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,GAAG,MAAM,CAEjD;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG/H;AAED;;GAEG;AACH,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,GAAG,MAAM,CAEjD;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG/H;AAED;;GAEG;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,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAI/H;AAED;;;;;GAKG;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,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAG/H"}
@@ -0,0 +1,91 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { RouteArgs } from './RouteArgs.js';
8
+ import { ParameterType } from '../interfaces.js';
9
+ import { Injectable } from '@spinajs/di';
10
+ /**
11
+ * Client IP address, as resolved by the RealIp middleware
12
+ * (`req.storage.realIp`, X-Forwarded-For aware with socket fallback).
13
+ */
14
+ let IpRouteArgs = class IpRouteArgs extends RouteArgs {
15
+ get SupportedType() {
16
+ return ParameterType.Ip;
17
+ }
18
+ async extract(callData, _args, _param, req) {
19
+ return { CallData: callData, Args: req.storage?.realIp };
20
+ }
21
+ };
22
+ IpRouteArgs = __decorate([
23
+ Injectable()
24
+ ], IpRouteArgs);
25
+ export { IpRouteArgs };
26
+ /**
27
+ * Per-request correlation id set by the RequestId middleware. Same value as
28
+ * the `x-request-id` response header.
29
+ */
30
+ let RequestIdRouteArgs = class RequestIdRouteArgs extends RouteArgs {
31
+ get SupportedType() {
32
+ return ParameterType.RequestId;
33
+ }
34
+ async extract(callData, _args, _param, req) {
35
+ return { CallData: callData, Args: req.storage?.requestId };
36
+ }
37
+ };
38
+ RequestIdRouteArgs = __decorate([
39
+ Injectable()
40
+ ], RequestIdRouteArgs);
41
+ export { RequestIdRouteArgs };
42
+ /**
43
+ * `User-Agent` request header.
44
+ */
45
+ let UserAgentRouteArgs = class UserAgentRouteArgs extends RouteArgs {
46
+ get SupportedType() {
47
+ return ParameterType.UserAgent;
48
+ }
49
+ async extract(callData, _args, _param, req) {
50
+ return { CallData: callData, Args: req.headers['user-agent'] };
51
+ }
52
+ };
53
+ UserAgentRouteArgs = __decorate([
54
+ Injectable()
55
+ ], UserAgentRouteArgs);
56
+ export { UserAgentRouteArgs };
57
+ /**
58
+ * `Referer` request header, accepting the alternative `Referrer` spelling.
59
+ */
60
+ let RefererRouteArgs = class RefererRouteArgs extends RouteArgs {
61
+ get SupportedType() {
62
+ return ParameterType.Referer;
63
+ }
64
+ async extract(callData, _args, _param, req) {
65
+ const referer = (req.headers.referer ?? req.headers['referrer']);
66
+ return { CallData: callData, Args: referer };
67
+ }
68
+ };
69
+ RefererRouteArgs = __decorate([
70
+ Injectable()
71
+ ], RefererRouteArgs);
72
+ export { RefererRouteArgs };
73
+ /**
74
+ * Raw request body as a Buffer, captured by the express.json `verify` hook.
75
+ * Intended for webhook signature verification, where the exact received bytes
76
+ * must be hashed (JSON round-tripping would change them). Available for JSON
77
+ * requests; undefined otherwise.
78
+ */
79
+ let RawBodyRouteArgs = class RawBodyRouteArgs extends RouteArgs {
80
+ get SupportedType() {
81
+ return ParameterType.RawBody;
82
+ }
83
+ async extract(callData, _args, _param, req) {
84
+ return { CallData: callData, Args: req.rawBody };
85
+ }
86
+ };
87
+ RawBodyRouteArgs = __decorate([
88
+ Injectable()
89
+ ], RawBodyRouteArgs);
90
+ export { RawBodyRouteArgs };
91
+ //# sourceMappingURL=RequestContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestContext.js","sourceRoot":"","sources":["../../../src/route-args/RequestContext.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAmB,aAAa,EAAuB,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,SAAS;IACxC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,EAAE,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,MAAuB,EAAE,GAAY;QAChG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3D,CAAC;CACF,CAAA;AARY,WAAW;IADvB,UAAU,EAAE;GACA,WAAW,CAQvB;;AAED;;;GAGG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,MAAuB,EAAE,GAAY;QAChG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;IAC9D,CAAC;CACF,CAAA;AARY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAQ9B;;AAED;;GAEG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,MAAuB,EAAE,GAAY;QAChG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;IACjE,CAAC;CACF,CAAA;AARY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAQ9B;;AAED;;GAEG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,SAAS;IAC7C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,MAAuB,EAAE,GAAY;QAChG,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAuB,CAAC;QACvF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC/C,CAAC;CACF,CAAA;AATY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAS5B;;AAED;;;;;GAKG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,SAAS;IAC7C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAgB,EAAE,MAAuB,EAAE,GAAY;QAChG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;CACF,CAAA;AARY,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAQ5B"}
@@ -12,7 +12,7 @@ export declare class RequestTypeRouteArgs extends RouteArgs {
12
12
  get SupportedType(): ParameterType;
13
13
  extract(callData: IRouteCall, _args: unknown[], _param: IRouteParameter, req: express.Request, _res: express.Response, _route: IRoute): Promise<{
14
14
  CallData: IRouteCall;
15
- Args: HttpAcceptHeaders.JSON | HttpAcceptHeaders.HTML | HttpAcceptHeaders.IMAGE | HttpAcceptHeaders.PDF | HttpAcceptHeaders.OTHER;
15
+ Args: HttpAcceptHeaders.JSON | HttpAcceptHeaders.HTML | HttpAcceptHeaders.TEXT | HttpAcceptHeaders.IMAGE | HttpAcceptHeaders.PDF | HttpAcceptHeaders.OTHER;
16
16
  }>;
17
17
  }
18
18
  export declare class QueryFieldRouteArg extends RouteArgs {
@@ -1 +1 @@
1
- {"version":3,"file":"RequestFields.d.ts","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AACD,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CA+BrJ;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAG,OAAO,EAAG,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AAED,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMtJ"}
1
+ {"version":3,"file":"RequestFields.d.ts","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AACD,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAgCrJ;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAG,OAAO,EAAG,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AAED,qBACa,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAC,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMrJ;AAED,qBACa,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAG,OAAO,EAAG,EAAG,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM;;;;CAMtJ"}
@@ -35,6 +35,7 @@ let RequestTypeRouteArgs = class RequestTypeRouteArgs extends RouteArgs {
35
35
  break;
36
36
  case 'text/plain':
37
37
  acceptHeader = HttpAcceptHeaders.TEXT;
38
+ break;
38
39
  case 'image/png':
39
40
  case 'image/jpeg':
40
41
  case 'image/*':
@@ -1 +1 @@
1
- {"version":3,"file":"RequestFields.js","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAAsB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEzG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIlC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAW9B;;AAEM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,KAAK,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,IAAI,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC;QAEzC,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;YAC1C,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBACtC,MAAM;YACR,KAAK,YAAY;gBACf,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;YACxC,KAAK,WAAW,CAAC;YACjB,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS;gBACZ,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC;gBACvC,MAAM;YACR,KAAK,iBAAiB;gBACpB,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC;gBACrC,MAAM;YACR,KAAK,kBAAkB;gBACrB,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBACtC,MAAM;YACR;gBACE,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC;gBACvC,MAAM;QACV,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,YAAY;SACnB,CAAC;IACJ,CAAC;CACF,CAAA;AApCY,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CAoChC;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAkB,EAAE,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,KAAK;SAChB,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAW9B;;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,SAAS;IACjD,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAC,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QAClJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,OAAO;SAClB,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CAWhC;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAC/C,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAkB,EAAG,MAAuB,EAAE,GAAoB,EAAE,IAAsB,EAAE,MAAc;QACnJ,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,GAAG,CAAC,MAAM;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAW9B"}
1
+ {"version":3,"file":"RequestFields.js","sourceRoot":"","sources":["../../../src/route-args/RequestFields.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouteArgs.d.ts","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,GAAG,GAAG,CAa5F;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,GAAG,MAAM,CAAC;IAEtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrK;AAED,8BAAsB,SAAU,YAAW,UAAU;IAEnD,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAE5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,KAAK,aAAa,IAAI,aAAa,GAAG,MAAM,CAAC;aAErC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;cAEnK,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;cAsCxE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG;IAKhF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe;IAW5C,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe;IAuB3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe;IAI9C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG;CAoB3D"}
1
+ {"version":3,"file":"RouteArgs.d.ts","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAC;AAGtE;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,GAAG,GAAG,CAa5F;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,GAAG,MAAM,CAAC;IAEtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACrK;AAED,8BAAsB,SAAU,YAAW,UAAU;IAEnD,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAE5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,KAAK,aAAa,IAAI,aAAa,GAAG,MAAM,CAAC;aAErC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;cAEnK,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;cAwDxE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG;IAKhF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe;IAW5C,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe;IAkC3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,eAAe;IAI9C,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG;CA8B3D"}