@spinajs/http 2.0.480 → 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.
- package/lib/cjs/config/http.d.ts.map +1 -1
- package/lib/cjs/config/http.js +11 -0
- package/lib/cjs/config/http.js.map +1 -1
- package/lib/cjs/controllers.d.ts.map +1 -1
- package/lib/cjs/controllers.js +48 -12
- package/lib/cjs/controllers.js.map +1 -1
- package/lib/cjs/decorators.d.ts +46 -4
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js +127 -23
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/error.js +3 -3
- package/lib/cjs/error.js.map +1 -1
- package/lib/cjs/file-middlewares/validation.d.ts +11 -0
- package/lib/cjs/file-middlewares/validation.d.ts.map +1 -1
- package/lib/cjs/file-middlewares/validation.js +52 -9
- package/lib/cjs/file-middlewares/validation.js.map +1 -1
- package/lib/cjs/file-middlewares/zip.d.ts.map +1 -1
- package/lib/cjs/file-middlewares/zip.js +6 -1
- package/lib/cjs/file-middlewares/zip.js.map +1 -1
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +95 -1
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +100 -4
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/middlewares/PerfRollup.d.ts +19 -0
- package/lib/cjs/middlewares/PerfRollup.d.ts.map +1 -0
- package/lib/cjs/middlewares/PerfRollup.js +61 -0
- package/lib/cjs/middlewares/PerfRollup.js.map +1 -0
- package/lib/cjs/middlewares/RequestId.d.ts +1 -2
- package/lib/cjs/middlewares/RequestId.d.ts.map +1 -1
- package/lib/cjs/middlewares/RequestId.js +19 -5
- package/lib/cjs/middlewares/RequestId.js.map +1 -1
- package/lib/cjs/middlewares/ResponseTime.d.ts +1 -2
- package/lib/cjs/middlewares/ResponseTime.d.ts.map +1 -1
- package/lib/cjs/middlewares/ResponseTime.js +29 -11
- package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
- package/lib/cjs/response-methods/file.d.ts.map +1 -1
- package/lib/cjs/response-methods/file.js +47 -21
- package/lib/cjs/response-methods/file.js.map +1 -1
- package/lib/cjs/response-methods/index.d.ts +3 -0
- package/lib/cjs/response-methods/index.d.ts.map +1 -1
- package/lib/cjs/response-methods/index.js +3 -0
- package/lib/cjs/response-methods/index.js.map +1 -1
- package/lib/cjs/response-methods/redirect.d.ts +11 -4
- package/lib/cjs/response-methods/redirect.d.ts.map +1 -1
- package/lib/cjs/response-methods/redirect.js +14 -4
- package/lib/cjs/response-methods/redirect.js.map +1 -1
- package/lib/cjs/response-methods/xml.d.ts +17 -0
- package/lib/cjs/response-methods/xml.d.ts.map +1 -0
- package/lib/cjs/response-methods/xml.js +26 -0
- package/lib/cjs/response-methods/xml.js.map +1 -0
- package/lib/cjs/responses.d.ts +10 -0
- package/lib/cjs/responses.d.ts.map +1 -1
- package/lib/cjs/responses.js +94 -35
- package/lib/cjs/responses.js.map +1 -1
- package/lib/cjs/route-args/FromBody.d.ts.map +1 -1
- package/lib/cjs/route-args/FromBody.js +6 -1
- package/lib/cjs/route-args/FromBody.js.map +1 -1
- package/lib/cjs/route-args/FromForm.d.ts +1 -1
- package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/cjs/route-args/FromForm.js +116 -37
- package/lib/cjs/route-args/FromForm.js.map +1 -1
- package/lib/cjs/route-args/FromXml.d.ts +17 -0
- package/lib/cjs/route-args/FromXml.d.ts.map +1 -0
- package/lib/cjs/route-args/FromXml.js +55 -0
- package/lib/cjs/route-args/FromXml.js.map +1 -0
- package/lib/cjs/route-args/RequestContext.d.ts +43 -0
- package/lib/cjs/route-args/RequestContext.d.ts.map +1 -0
- package/lib/cjs/route-args/RequestContext.js +94 -0
- package/lib/cjs/route-args/RequestContext.js.map +1 -0
- package/lib/cjs/route-args/RequestFields.d.ts +1 -1
- package/lib/cjs/route-args/RequestFields.d.ts.map +1 -1
- package/lib/cjs/route-args/RequestFields.js +1 -0
- package/lib/cjs/route-args/RequestFields.js.map +1 -1
- package/lib/cjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/cjs/route-args/RouteArgs.js +50 -10
- package/lib/cjs/route-args/RouteArgs.js.map +1 -1
- package/lib/cjs/route-args/index.d.ts +2 -0
- package/lib/cjs/route-args/index.d.ts.map +1 -1
- package/lib/cjs/route-args/index.js +2 -0
- package/lib/cjs/route-args/index.js.map +1 -1
- package/lib/cjs/server.d.ts +36 -3
- package/lib/cjs/server.d.ts.map +1 -1
- package/lib/cjs/server.js +131 -42
- package/lib/cjs/server.js.map +1 -1
- package/lib/mjs/config/http.d.ts.map +1 -1
- package/lib/mjs/config/http.js +11 -0
- package/lib/mjs/config/http.js.map +1 -1
- package/lib/mjs/controllers.d.ts.map +1 -1
- package/lib/mjs/controllers.js +46 -10
- package/lib/mjs/controllers.js.map +1 -1
- package/lib/mjs/decorators.d.ts +46 -4
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js +121 -24
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/error.js +3 -3
- package/lib/mjs/error.js.map +1 -1
- package/lib/mjs/file-middlewares/validation.d.ts +11 -0
- package/lib/mjs/file-middlewares/validation.d.ts.map +1 -1
- package/lib/mjs/file-middlewares/validation.js +53 -10
- package/lib/mjs/file-middlewares/validation.js.map +1 -1
- package/lib/mjs/file-middlewares/zip.d.ts.map +1 -1
- package/lib/mjs/file-middlewares/zip.js +6 -1
- package/lib/mjs/file-middlewares/zip.js.map +1 -1
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +1 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +95 -1
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +65 -2
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/middlewares/PerfRollup.d.ts +19 -0
- package/lib/mjs/middlewares/PerfRollup.d.ts.map +1 -0
- package/lib/mjs/middlewares/PerfRollup.js +58 -0
- package/lib/mjs/middlewares/PerfRollup.js.map +1 -0
- package/lib/mjs/middlewares/RequestId.d.ts +1 -2
- package/lib/mjs/middlewares/RequestId.d.ts.map +1 -1
- package/lib/mjs/middlewares/RequestId.js +19 -5
- package/lib/mjs/middlewares/RequestId.js.map +1 -1
- package/lib/mjs/middlewares/ResponseTime.d.ts +1 -2
- package/lib/mjs/middlewares/ResponseTime.d.ts.map +1 -1
- package/lib/mjs/middlewares/ResponseTime.js +29 -11
- package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
- package/lib/mjs/response-methods/file.d.ts.map +1 -1
- package/lib/mjs/response-methods/file.js +41 -15
- package/lib/mjs/response-methods/file.js.map +1 -1
- package/lib/mjs/response-methods/index.d.ts +3 -0
- package/lib/mjs/response-methods/index.d.ts.map +1 -1
- package/lib/mjs/response-methods/index.js +3 -0
- package/lib/mjs/response-methods/index.js.map +1 -1
- package/lib/mjs/response-methods/redirect.d.ts +11 -4
- package/lib/mjs/response-methods/redirect.d.ts.map +1 -1
- package/lib/mjs/response-methods/redirect.js +15 -5
- package/lib/mjs/response-methods/redirect.js.map +1 -1
- package/lib/mjs/response-methods/xml.d.ts +17 -0
- package/lib/mjs/response-methods/xml.d.ts.map +1 -0
- package/lib/mjs/response-methods/xml.js +22 -0
- package/lib/mjs/response-methods/xml.js.map +1 -0
- package/lib/mjs/responses.d.ts +10 -0
- package/lib/mjs/responses.d.ts.map +1 -1
- package/lib/mjs/responses.js +93 -35
- package/lib/mjs/responses.js.map +1 -1
- package/lib/mjs/route-args/FromBody.d.ts.map +1 -1
- package/lib/mjs/route-args/FromBody.js +6 -1
- package/lib/mjs/route-args/FromBody.js.map +1 -1
- package/lib/mjs/route-args/FromForm.d.ts +1 -1
- package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/mjs/route-args/FromForm.js +114 -38
- package/lib/mjs/route-args/FromForm.js.map +1 -1
- package/lib/mjs/route-args/FromXml.d.ts +17 -0
- package/lib/mjs/route-args/FromXml.d.ts.map +1 -0
- package/lib/mjs/route-args/FromXml.js +52 -0
- package/lib/mjs/route-args/FromXml.js.map +1 -0
- package/lib/mjs/route-args/RequestContext.d.ts +43 -0
- package/lib/mjs/route-args/RequestContext.d.ts.map +1 -0
- package/lib/mjs/route-args/RequestContext.js +91 -0
- package/lib/mjs/route-args/RequestContext.js.map +1 -0
- package/lib/mjs/route-args/RequestFields.d.ts +1 -1
- package/lib/mjs/route-args/RequestFields.d.ts.map +1 -1
- package/lib/mjs/route-args/RequestFields.js +1 -0
- package/lib/mjs/route-args/RequestFields.js.map +1 -1
- package/lib/mjs/route-args/RouteArgs.d.ts.map +1 -1
- package/lib/mjs/route-args/RouteArgs.js +51 -11
- package/lib/mjs/route-args/RouteArgs.js.map +1 -1
- package/lib/mjs/route-args/index.d.ts +2 -0
- package/lib/mjs/route-args/index.d.ts.map +1 -1
- package/lib/mjs/route-args/index.js +2 -0
- package/lib/mjs/route-args/index.js.map +1 -1
- package/lib/mjs/server.d.ts +36 -3
- package/lib/mjs/server.d.ts.map +1 -1
- package/lib/mjs/server.js +132 -43
- package/lib/mjs/server.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +16 -12
package/lib/mjs/decorators.js
CHANGED
|
@@ -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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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 ${
|
|
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
|
package/lib/mjs/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAoB,gBAAgB,EAAE,iBAAiB,EAA4B,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,MAAM,UAAU,gBAAgB;IAE5B,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAErC,IAAG,CAAC,MAAM,EAAC,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,4JAA4J,CAAC,CAAC;IAC9K,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAU,4BAA4B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3F,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAyC,oBAAoB,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAoB,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAS,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAG/E,OAAO,CAAC,GAAQ,EAAE,GAAoB,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;QACzF,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,IAAI,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,
|
|
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;
|
|
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":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/file-middlewares/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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
|
|
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;
|
|
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"}
|
package/lib/mjs/index.d.ts
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.d.ts.map
|
package/lib/mjs/index.d.ts.map
CHANGED
|
@@ -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
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -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"}
|