@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
@@ -1,4 +1,4 @@
1
- import { DI } from '@spinajs/di';
1
+ import { DI, getInheritedDescriptor } from '@spinajs/di';
2
2
  import { RouteType, ParameterType, UuidVersion, HTTP_STATUS_CODE } from './interfaces.js';
3
3
  import { ROUTE_ARG_SCHEMA } from './schemas/RouteArgsSchemas.js';
4
4
  import { toArray } from '@spinajs/util';
@@ -7,27 +7,72 @@ import { BadRequest } from '@spinajs/exceptions';
7
7
  export const CONTROLLED_DESCRIPTOR_SYMBOL = Symbol('CONTROLLER_SYMBOL');
8
8
  function Controller(callback) {
9
9
  return (target, propertyKey, indexOrDescriptor) => {
10
- let metadata = Reflect.getMetadata(CONTROLLED_DESCRIPTOR_SYMBOL, target.prototype || target);
11
- if (!metadata) {
12
- metadata = {
13
- BasePath: null,
14
- Middlewares: [],
15
- Policies: [],
16
- Routes: new Map(),
17
- // Capture the controller's source file from the V8 stack the first
18
- // time a route decorator runs on this class. The first frame outside
19
- // this module / common transpiler shims is the controller source
20
- // exactly what ControllersCache needs when the controller was added
21
- // through DI rather than the file scan.
22
- SourceFile: captureControllerSourceFile(),
23
- };
24
- Reflect.defineMetadata(CONTROLLED_DESCRIPTOR_SYMBOL, metadata, target.prototype || target);
10
+ const controller = target.prototype || target;
11
+ // True only for the very first decorator that touches THIS class, since
12
+ // getInheritedDescriptor stores own metadata as soon as it is called.
13
+ const isFirstDecorator = !Reflect.getOwnMetadata(CONTROLLED_DESCRIPTOR_SYMBOL, controller);
14
+ // Own metadata per class. Reflect.getMetadata walks the prototype chain, so
15
+ // a controller subclass used to find - and mutate - its parent's descriptor,
16
+ // writing its routes into the package's controller. getInheritedDescriptor
17
+ // hands back a copy pre-populated with everything inherited, so overriding
18
+ // one route leaves the rest of the parent's routes intact.
19
+ const metadata = getInheritedDescriptor(controller, CONTROLLED_DESCRIPTOR_SYMBOL, createDefaultControllerDescriptor);
20
+ if (isFirstDecorator) {
21
+ // SourceFile is the one field that must NOT be inherited: a subclass is
22
+ // declared in its own file and ControllersCache.getCache() parses that
23
+ // file looking for the class BY NAME, so an inherited path would send it
24
+ // to the package's file where the subclass does not exist. The collapse
25
+ // otherwise keeps the ancestor's value, so stamp the class's own file
26
+ // here - this is also the only frame from which the V8 stack still points
27
+ // at the controller source rather than at the collapse machinery.
28
+ metadata.SourceFile = captureControllerSourceFile();
29
+ detachInheritedRoutes(metadata);
25
30
  }
26
31
  if (callback) {
27
32
  callback(metadata, target, propertyKey, indexOrDescriptor);
28
33
  }
29
34
  };
30
35
  }
36
+ /**
37
+ * Give this class its own copy of every route it inherited.
38
+ *
39
+ * The collapse rebuilds the Routes Map but copies its entries by reference, and
40
+ * `Route()` hands whatever entry it finds under a member name straight to the
41
+ * route decorators - all of which mutate it in place ( eg. `route.Path = path`,
42
+ * `route.Policies.push(...)` ). Without this, a subclass overriding a single
43
+ * route would rewrite the parent's path, policies and parameters: the same
44
+ * cross-class corruption the own-descriptor change removes one level up, on the
45
+ * most likely override shape of all ( eg. redeclare one route with a new path ).
46
+ *
47
+ * Only the members that are mutated in place need copying. `Parameters` values
48
+ * are patched field by field ( eg. `p.Type = type` in `Parameter()`, and
49
+ * `rParam.Name` filled from the parsed source when the controller is
50
+ * registered ), so the IRouteParameter objects are copied as well. `Options`
51
+ * and `Schema` are only ever assigned wholesale, so sharing those references
52
+ * with the parent is safe.
53
+ */
54
+ function detachInheritedRoutes(descriptor) {
55
+ for (const [member, route] of descriptor.Routes) {
56
+ descriptor.Routes.set(member, {
57
+ ...route,
58
+ Policies: [...route.Policies],
59
+ Middlewares: [...route.Middlewares],
60
+ Parameters: new Map([...route.Parameters].map(([index, parameter]) => [index, { ...parameter }])),
61
+ });
62
+ }
63
+ }
64
+ function createDefaultControllerDescriptor() {
65
+ return {
66
+ BasePath: null,
67
+ Middlewares: [],
68
+ Policies: [],
69
+ Routes: new Map(),
70
+ // Stamped by Controller() right after the collapse, not here - see there
71
+ // for why it must be the class's own file. ControllersCache needs it when
72
+ // the controller was added through DI rather than the file scan.
73
+ SourceFile: undefined,
74
+ };
75
+ }
31
76
  /**
32
77
  * Walk the current V8 stack and return the absolute path of the first frame
33
78
  * that is NOT inside this decorators module or a common transpiler helper.
@@ -43,6 +88,10 @@ function captureControllerSourceFile() {
43
88
  const skipMarkers = [
44
89
  'decorators.ts',
45
90
  'decorators.js',
91
+ // The descriptor collapse machinery in @spinajs/di sits between this module
92
+ // and the controller source whenever it calls back into us, so its frames
93
+ // must never be mistaken for the controller's file.
94
+ 'descriptor-inheritance',
46
95
  'tslib',
47
96
  'reflect-metadata',
48
97
  '__decorate',
@@ -300,24 +349,24 @@ export function ParamField() {
300
349
  *
301
350
  * @param schema - parameter json schema for optional validation
302
351
  */
303
- export function Query(schema) {
304
- return Route(Parameter(ParameterType.FromQuery, schema));
352
+ export function Query(schema, options) {
353
+ return Route(Parameter(ParameterType.FromQuery, schema, options));
305
354
  }
306
355
  /**
307
356
  * Route parameter taken from message body (POST)
308
357
  *
309
358
  * @param schema - parameter json schema for optional validation
310
359
  */
311
- export function Body() {
312
- return Route(Parameter(ParameterType.FromBody, null));
360
+ export function Body(options) {
361
+ return Route(Parameter(ParameterType.FromBody, null, options));
313
362
  }
314
363
  /**
315
364
  * Route parameter taken from url parameters eg. route/:id
316
365
  *
317
366
  * @param schema - parameter json schema for optional validation
318
367
  */
319
- export function Param(schema) {
320
- return Route(Parameter(ParameterType.FromParams, schema));
368
+ export function Param(schema, options) {
369
+ return Route(Parameter(ParameterType.FromParams, schema, options));
321
370
  }
322
371
  /**
323
372
  * Gets parameter from request header. If not keyname is provided
@@ -327,8 +376,8 @@ export function Param(schema) {
327
376
  * @param schema - schema for validation ( optional )
328
377
  * @returns
329
378
  */
330
- export function Header(keyName, schema) {
331
- return Route(Parameter(ParameterType.FromHeader, schema, { key: keyName }));
379
+ export function Header(keyName, schema, options) {
380
+ return Route(Parameter(ParameterType.FromHeader, schema, { key: keyName, ...options }));
332
381
  }
333
382
  /**
334
383
  *
@@ -339,6 +388,54 @@ export function Header(keyName, schema) {
339
388
  export function File(options) {
340
389
  return Route(Parameter(ParameterType.FromFile, null, options));
341
390
  }
391
+ /**
392
+ * Multiple uploaded files for a form field, always returned as an array
393
+ * (even when a single file is sent). Semantic alias over {@link File}.
394
+ *
395
+ * @param options - upload options
396
+ */
397
+ export function Files(options) {
398
+ return Route(Parameter(ParameterType.FromFile, null, { ...(options ?? {}), asArray: true }));
399
+ }
400
+ /**
401
+ * Client IP address (as resolved by the RealIp middleware).
402
+ */
403
+ export function Ip() {
404
+ return Route(Parameter(ParameterType.Ip, null));
405
+ }
406
+ /**
407
+ * Per-request correlation id (matches the `x-request-id` response header).
408
+ */
409
+ export function RequestId() {
410
+ return Route(Parameter(ParameterType.RequestId, null));
411
+ }
412
+ /**
413
+ * `User-Agent` request header.
414
+ */
415
+ export function UserAgent() {
416
+ return Route(Parameter(ParameterType.UserAgent, null));
417
+ }
418
+ /**
419
+ * `Referer` (or `Referrer`) request header.
420
+ */
421
+ export function Referer() {
422
+ return Route(Parameter(ParameterType.Referer, null));
423
+ }
424
+ /**
425
+ * Raw request body Buffer, for webhook signature verification. Captured for
426
+ * JSON requests via the express.json `verify` hook.
427
+ */
428
+ export function RawBody() {
429
+ return Route(Parameter(ParameterType.RawBody, null));
430
+ }
431
+ /**
432
+ * Parses an XML request body into an object.
433
+ *
434
+ * @param options - fast-xml-parser options (optional)
435
+ */
436
+ export function FromXml(options) {
437
+ return Route(Parameter(ParameterType.FromXml, null, options));
438
+ }
342
439
  /**
343
440
  * Data taken from cvs file that is uploaded. Actions receives parsed data
344
441
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
package/lib/mjs/error.js CHANGED
@@ -26,9 +26,9 @@ export function __handle_error__() {
26
26
  ...err,
27
27
  // make sure error message is added
28
28
  message: err.message,
29
- stack: {},
30
29
  };
31
- // in dev mode add stack trace for debugging
30
+ // in dev mode add stack trace for debugging. In production the stack is
31
+ // omitted entirely rather than serialized as an empty object.
32
32
  if (!isProductionEnv) {
33
33
  error.stack = err.stack ? err.stack : err.parameter && err.parameter.stack;
34
34
  }
@@ -39,7 +39,7 @@ export function __handle_error__() {
39
39
  response = new httpResponse(error);
40
40
  }
41
41
  else {
42
- logger.warn(`Error type ${error.constructor} dont have assigned http response. Map error to response via _http_error_map__ in DI container`);
42
+ logger.warn(`Error type ${err.constructor?.name} dont have assigned http response. Map error to response via _http_error_map__ in DI container`);
43
43
  response = new ServerError(error);
44
44
  }
45
45
  response
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,24 @@
1
1
  import { FileUploadMiddleware, FileValidationRules, IUploadedFile, IUploadOptions } from "../interfaces.js";
2
2
  import { Log } from "@spinajs/log-common";
3
+ import { FileInfoService } from "@spinajs/fs";
3
4
  /**
4
5
  * Middleware that validates file before upload eg. check file type, withth, height, size, etc.
5
6
  */
6
7
  export declare class FileValidationMiddleware extends FileUploadMiddleware {
7
8
  protected Rules: FileValidationRules;
8
9
  protected Log: Log;
10
+ protected FileInfo: FileInfoService;
9
11
  constructor(Rules: FileValidationRules);
10
12
  beforeUpload(file: IUploadedFile<any>, _paramOptions: IUploadOptions): Promise<any>;
13
+ /**
14
+ * Type / proportion / resolution rules need content-detected metadata
15
+ * (`file.Info`). It is normally populated by FileInfoMiddleware, but only
16
+ * when the `fileInfo` upload option is set. Fetch it here when it's missing
17
+ * so validation works regardless of upload options — otherwise every rule
18
+ * would fail with a misleading "unable to determine ..." error.
19
+ */
20
+ protected ensureFileInfo(file: IUploadedFile<any>): Promise<void>;
21
+ protected validateSize(file: IUploadedFile<any>): void;
11
22
  protected validateType(file: IUploadedFile<any>): void;
12
23
  protected validateProportions(file: IUploadedFile<any>): IUploadedFile<any> | undefined;
13
24
  protected validateResolution(file: IUploadedFile<any>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/file-middlewares/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7H,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAIlD;;GAEG;AACH,qBAEa,wBAAyB,SAAQ,oBAAoB;IAIlD,SAAS,CAAC,KAAK,EAAE,mBAAmB;IAFhD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBAEG,KAAK,EAAE,mBAAmB;IAKnC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAOhG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;IAyC/C,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;IAoDtD,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;CAmExD"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/file-middlewares/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7H,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9C;;GAEG;AACH,qBAEa,wBAAyB,SAAQ,oBAAoB;IAOlD,SAAS,CAAC,KAAK,EAAE,mBAAmB;IALhD,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAGpB,SAAS,CAAC,QAAQ,EAAG,eAAe,CAAC;gBAEf,KAAK,EAAE,mBAAmB;IAKnC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBhG;;;;;;OAMG;cACa,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;IAWvD,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;IA4B/C,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;IAyC/C,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;IAoDtD,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;CAyDxD"}
@@ -7,9 +7,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { Injectable, NewInstance } from "@spinajs/di";
10
+ import { Autoinject, Injectable, NewInstance } from "@spinajs/di";
11
11
  import { FileProportions, FileUploadMiddleware } from "../interfaces.js";
12
12
  import { Log, Logger } from "@spinajs/log-common";
13
+ import { FileInfoService } from "@spinajs/fs";
13
14
  import { ValidationFailed } from "@spinajs/validation";
14
15
  /**
15
16
  * Middleware that validates file before upload eg. check file type, withth, height, size, etc.
@@ -20,11 +21,58 @@ let FileValidationMiddleware = class FileValidationMiddleware extends FileUpload
20
21
  this.Rules = Rules;
21
22
  }
22
23
  async beforeUpload(file, _paramOptions) {
24
+ // No rules configured -> nothing to validate (and guards against a
25
+ // TypeError if the middleware is resolved without an options object).
26
+ if (!this.Rules) {
27
+ return file;
28
+ }
29
+ await this.ensureFileInfo(file);
30
+ this.validateSize(file);
23
31
  this.validateType(file);
24
32
  this.validateProportions(file);
25
33
  this.validateResolution(file);
26
34
  return file;
27
35
  }
36
+ /**
37
+ * Type / proportion / resolution rules need content-detected metadata
38
+ * (`file.Info`). It is normally populated by FileInfoMiddleware, but only
39
+ * when the `fileInfo` upload option is set. Fetch it here when it's missing
40
+ * so validation works regardless of upload options — otherwise every rule
41
+ * would fail with a misleading "unable to determine ..." error.
42
+ */
43
+ async ensureFileInfo(file) {
44
+ const needsInfo = !!(this.Rules.types?.length || this.Rules.proportions || this.Rules.resolution);
45
+ if (!needsInfo || file.Info) {
46
+ return;
47
+ }
48
+ if (this.FileInfo && file.OriginalFile?.filepath) {
49
+ file.Info = await this.FileInfo.getInfo(file.OriginalFile.filepath);
50
+ }
51
+ }
52
+ validateSize(file) {
53
+ if (!this.Rules.size) {
54
+ return;
55
+ }
56
+ const { min, max } = this.Rules.size;
57
+ if (min !== undefined && file.Size < min) {
58
+ throw new ValidationFailed('validation error', [{
59
+ instancePath: '/file/size',
60
+ schemaPath: '#/properties/file/size',
61
+ keyword: 'size',
62
+ params: { min, actual: file.Size },
63
+ message: `File size must be at least ${min} bytes. Got: ${file.Size} bytes`
64
+ }]);
65
+ }
66
+ if (max !== undefined && file.Size > max) {
67
+ throw new ValidationFailed('validation error', [{
68
+ instancePath: '/file/size',
69
+ schemaPath: '#/properties/file/size',
70
+ keyword: 'size',
71
+ params: { max, actual: file.Size },
72
+ message: `File size must be at most ${max} bytes. Got: ${file.Size} bytes`
73
+ }]);
74
+ }
75
+ }
28
76
  validateType(file) {
29
77
  if (!this.Rules.types || this.Rules.types.length === 0) {
30
78
  return;
@@ -153,21 +201,16 @@ let FileValidationMiddleware = class FileValidationMiddleware extends FileUpload
153
201
  message: `Image width must be lower than ${this.Rules.resolution?.maxWidth}px. Got: ${file.Info.Width}px`
154
202
  }]);
155
203
  }
156
- if (file.Info.Height > this.Rules.resolution?.maxHeight) {
157
- throw new ValidationFailed('validation error', [{
158
- instancePath: '/file/height',
159
- schemaPath: '#/properties/file/resolution/height',
160
- keyword: 'resolution',
161
- params: { expected: this.Rules.resolution?.maxHeight, actual: file.Info.Height },
162
- message: `Image height must be lower than ${this.Rules.resolution?.maxHeight}px. Got: ${file.Info.Height}px`
163
- }]);
164
- }
165
204
  }
166
205
  };
167
206
  __decorate([
168
207
  Logger('http'),
169
208
  __metadata("design:type", Log)
170
209
  ], FileValidationMiddleware.prototype, "Log", void 0);
210
+ __decorate([
211
+ Autoinject(),
212
+ __metadata("design:type", FileInfoService)
213
+ ], FileValidationMiddleware.prototype, "FileInfo", void 0);
171
214
  FileValidationMiddleware = __decorate([
172
215
  Injectable(),
173
216
  NewInstance(),
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/file-middlewares/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/file-middlewares/validation.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAsD,MAAM,kBAAkB,CAAC;AAC7H,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;GAEG;AAGI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,oBAAoB;IAO9D,YAAsB,KAA0B;QAC5C,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAqB;IAEhD,CAAC;IAGM,KAAK,CAAC,YAAY,CAAC,IAAwB,EAAE,aAA6B;QAC7E,mEAAmE;QACnE,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,cAAc,CAAC,IAAwB;QACnD,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO;QACX,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAES,YAAY,CAAC,IAAwB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAErC,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,wBAAwB;oBACpC,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;oBAClC,OAAO,EAAE,8BAA8B,GAAG,gBAAgB,IAAI,CAAC,IAAI,QAAQ;iBAC9E,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACvC,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,wBAAwB;oBACpC,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE;oBAClC,OAAO,EAAE,6BAA6B,GAAG,gBAAgB,IAAI,CAAC,IAAI,QAAQ;iBAC7E,CAAC,CAAC,CAAC;QACR,CAAC;IACL,CAAC;IAES,YAAY,CAAC,IAAwB;QAE3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO;QACX,CAAC;QAGD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,wBAAwB;oBACpC,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,+BAA+B;iBAC3C,CAAC,CAAC,CAAC;QACR,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAChD,mCAAmC;YACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC,IAAK,CAAC,QAAS,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,CAAC,IAAK,CAAC,QAAS,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,YAAY;oBAC1B,UAAU,EAAE,wBAAwB;oBACpC,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE;wBACJ,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;wBAC9B,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC,QAAQ;qBAC9B;oBACD,OAAO,EAAE,6BAA6B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAK,CAAC,QAAQ,EAAE;iBACnG,CAAC,CAAC,CAAC;QACR,CAAC;IAEL,CAAC;IAES,mBAAmB,CAAC,IAAwB;QAElD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAK,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,OAAO;oBACrB,UAAU,EAAE,+BAA+B;oBAC3C,OAAO,EAAE,aAAa;oBACtB,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,oDAAoD;iBAChE,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,IAAI,KAAK,eAAe,CAAC,IAAI,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YAED,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpC,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;wBAC5C,YAAY,EAAE,mBAAmB;wBACjC,UAAU,EAAE,+BAA+B;wBAC3C,OAAO,EAAE,aAAa;wBACtB,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;wBAC7B,OAAO,EAAE,8BAA8B,IAAI,EAAE;qBAChD,CAAC,CAAC,CAAC;YACR,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAK,CAAC,KAAM,GAAG,IAAI,CAAC,IAAK,CAAC,MAAO,CAAC;YAC3D,MAAM,aAAa,GAAG,aAAa,GAAG,cAAc,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,eAAe;YAEvC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,SAAS,EAAE,CAAC;gBACpD,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;wBAC5C,YAAY,EAAE,mBAAmB;wBACjC,UAAU,EAAE,+BAA+B;wBAC3C,OAAO,EAAE,aAAa;wBACtB,MAAM,EAAE;4BACJ,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;4BAChC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAK,CAAC,MAAM,EAAE;4BAClD,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;yBAChC;wBACD,OAAO,EAAE,6BAA6B,IAAI,CAAC,KAAK,CAAC,WAAW,UAAU,IAAI,CAAC,IAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAK,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;qBAC5I,CAAC,CAAC,CAAC;YACR,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,kBAAkB,CAAC,IAAwB;QAEjD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,OAAO;oBACrB,UAAU,EAAE,8BAA8B;oBAC1C,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,EAAE;oBACV,OAAO,EAAE,oDAAoD;iBAChE,CAAC,CAAC,CAAC;QACR,CAAC;QAGD,IAAI,IAAI,CAAC,IAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAS,EAAE,CAAC;YACtD,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,aAAa;oBAC3B,UAAU,EAAE,oCAAoC;oBAChD,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC,KAAK,EAAE;oBAC/E,OAAO,EAAE,oCAAoC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,YAAY,IAAI,CAAC,IAAK,CAAC,KAAK,IAAI;iBAC/G,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,IAAI,CAAC,IAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAU,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,cAAc;oBAC5B,UAAU,EAAE,qCAAqC;oBACjD,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC,MAAM,EAAE;oBACjF,OAAO,EAAE,qCAAqC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,YAAY,IAAI,CAAC,IAAK,CAAC,MAAM,IAAI;iBAClH,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,IAAI,CAAC,IAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAU,EAAE,CAAC;YACxD,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,cAAc;oBAC5B,UAAU,EAAE,qCAAqC;oBACjD,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC,MAAM,EAAE;oBACjF,OAAO,EAAE,mCAAmC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,YAAY,IAAI,CAAC,IAAK,CAAC,MAAM,IAAI;iBAChH,CAAC,CAAC,CAAC;QACR,CAAC;QAED,IAAI,IAAI,CAAC,IAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAS,EAAE,CAAC;YACtD,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;oBAC5C,YAAY,EAAE,aAAa;oBAC3B,UAAU,EAAE,oCAAoC;oBAChD,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,IAAK,CAAC,KAAK,EAAE;oBAC/E,OAAO,EAAE,kCAAkC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,YAAY,IAAI,CAAC,IAAK,CAAC,KAAK,IAAI;iBAC7G,CAAC,CAAC,CAAC;QACR,CAAC;IACL,CAAC;CACJ,CAAA;AA9Na;IADT,MAAM,CAAC,MAAM,CAAC;8BACC,GAAG;qDAAC;AAGV;IADT,UAAU,EAAE;8BACQ,eAAe;0DAAC;AAL5B,wBAAwB;IAFpC,UAAU,EAAE;IACZ,WAAW,EAAE;;GACD,wBAAwB,CAgOpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../src/file-middlewares/zip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAGlD,qBAEa,kBAAmB,SAAQ,oBAAoB;IAExD,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAEP,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAsCnF"}
1
+ {"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../src/file-middlewares/zip.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAGlD,qBAEa,kBAAmB,SAAQ,oBAAoB;IAExD,SAAS,CAAC,GAAG,EAAG,GAAG,CAAC;IAEP,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CA2CnF"}
@@ -26,7 +26,12 @@ let ZipFileTransformer = class ZipFileTransformer extends FileUploadMiddleware {
26
26
  this.Log.trace(`[ZIP] Transformed ${originalName} to ${result.asFilePath()}, duration: ${duration}ms`);
27
27
  return {
28
28
  ...file,
29
- BaseName: result.asFilePath(),
29
+ // BaseName must stay a bare filename (see IUploadedFile.BaseName
30
+ // and UnzipFileTransformer). asFilePath() is a fully-resolved
31
+ // absolute path; downstream (ImmediateFileUploader.copy) resolves
32
+ // BaseName against the provider base path again, so an absolute
33
+ // value produces a broken path.
34
+ BaseName: Path.basename(result.asFilePath()),
30
35
  Size: stat.Size,
31
36
  Type: "application/zip",
32
37
  Name: Path.parse(file.Name).name + ".zip",
@@ -1 +1 @@
1
- {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/file-middlewares/zip.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAiB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,IAAI,MAAM,MAAM,CAAC;AAIjB,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,oBAAoB;IAIjD,KAAK,CAAC,YAAY,CAAC,IAAwB;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAE/B,IAAG,CAAC,IAAI,CAAC,QAAQ,EAAC,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,QAAQ,8IAA8I,CAAC,CAAC;QAC5N,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;YAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,YAAY,OAAO,MAAM,CAAC,UAAU,EAAE,eAAe,QAAQ,IAAI,CAAC,CAAC;YAEvG,OAAO;gBACH,GAAG,IAAI;gBACP,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC7B,IAAI,EAAE,IAAI,CAAC,IAAK;gBAChB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,MAAM;gBACzC,IAAI,EAAE;oBACF,YAAY,EAAE,YAAY;oBAC1B,YAAY,EAAE,YAAY;iBAC7B;aACJ,CAAA;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,CAAC;QACd,CAAC;gBACO,CAAC;YACL,MAAM,IAAI,CAAC,QAAS,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;IAGL,CAAC;CAEJ,CAAA;AAxCa;IADT,MAAM,CAAC,MAAM,CAAC;8BACC,GAAG;+CAAC;AAFX,kBAAkB;IAF9B,UAAU,EAAE;IACZ,SAAS,EAAE;GACC,kBAAkB,CA0C9B"}
1
+ {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../../src/file-middlewares/zip.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAiB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,IAAI,MAAM,MAAM,CAAC;AAIjB,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,oBAAoB;IAIjD,KAAK,CAAC,YAAY,CAAC,IAAwB;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC;QAE/B,IAAG,CAAC,IAAI,CAAC,QAAQ,EAAC,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,QAAQ,8IAA8I,CAAC,CAAC;QAC5N,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;YAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAE5D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,YAAY,OAAO,MAAM,CAAC,UAAU,EAAE,eAAe,QAAQ,IAAI,CAAC,CAAC;YAEvG,OAAO;gBACH,GAAG,IAAI;gBACP,iEAAiE;gBACjE,8DAA8D;gBAC9D,kEAAkE;gBAClE,gEAAgE;gBAChE,gCAAgC;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC5C,IAAI,EAAE,IAAI,CAAC,IAAK;gBAChB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,MAAM;gBACzC,IAAI,EAAE;oBACF,YAAY,EAAE,YAAY;oBAC1B,YAAY,EAAE,YAAY;iBAC7B;aACJ,CAAA;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,CAAC;QACd,CAAC;gBACO,CAAC;YACL,MAAM,IAAI,CAAC,QAAS,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;IAGL,CAAC;CAEJ,CAAA;AA7Ca;IADT,MAAM,CAAC,MAAM,CAAC;8BACC,GAAG;+CAAC;AAFX,kBAAkB;IAF9B,UAAU,EAAE;IACZ,SAAS,EAAE;GACC,kBAAkB,CA+C9B"}
@@ -16,4 +16,5 @@ export * from './middlewares/Compression.js';
16
16
  export * from './middlewares/Cors.js';
17
17
  export * from './middlewares/SlowRequestWarning.js';
18
18
  export * from './middlewares/ServerTiming.js';
19
+ export * from './middlewares/PerfRollup.js';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC"}
package/lib/mjs/index.js CHANGED
@@ -16,4 +16,5 @@ export * from './middlewares/Compression.js';
16
16
  export * from './middlewares/Cors.js';
17
17
  export * from './middlewares/SlowRequestWarning.js';
18
18
  export * from './middlewares/ServerTiming.js';
19
+ export * from './middlewares/PerfRollup.js';
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC"}