alado 3.2.2 → 3.2.3
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/dist/dto/route.d.ts +1 -0
- package/dist/helpers/service/clear-route-path.js +4 -0
- package/dist/helpers/service/clear-route-path.js.map +1 -1
- package/dist/helpers/validate/context/validate-request-part.d.ts +4 -2
- package/dist/helpers/validate/context/validate-request-part.js +14 -2
- package/dist/helpers/validate/context/validate-request-part.js.map +1 -1
- package/dist/request-processor/request-processor.js +19 -11
- package/dist/request-processor/request-processor.js.map +1 -1
- package/dist/router/router.js +4 -7
- package/dist/router/router.js.map +1 -1
- package/package.json +1 -1
- package/d.patch +0 -81
package/dist/dto/route.d.ts
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.clearRoutePath = clearRoutePath;
|
|
4
4
|
const _const_1 = require("../../constants/index.js");
|
|
5
|
+
const SLASH = 47;
|
|
5
6
|
function clearRoutePath(route) {
|
|
7
|
+
if (route.charCodeAt(0) === SLASH && route.charCodeAt(route.length - 1) !== SLASH && route.indexOf('//') === -1) {
|
|
8
|
+
return route;
|
|
9
|
+
}
|
|
6
10
|
if (!_const_1.startRouteRegexp.test(route)) {
|
|
7
11
|
route = `/${route}`;
|
|
8
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear-route-path.js","sourceRoot":"","sources":["../../../src/helpers/service/clear-route-path.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"clear-route-path.js","sourceRoot":"","sources":["../../../src/helpers/service/clear-route-path.ts"],"names":[],"mappings":";;AAIA,wCAYC;AAhBD,mCAA6E;AAE7E,MAAM,KAAK,GAAW,EAAE,CAAC;AAEzB,SAAgB,cAAc,CAAC,KAAa;IAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChH,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,yBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,yBAAgB,EAAE,GAAG,CAAC,CAAC;IAC7C,IAAI,wBAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,wBAAe,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { Context, ContextRequest } from '../../../dto/index.js';
|
|
2
|
-
|
|
2
|
+
type RequestPartError = {
|
|
3
3
|
statusCode: number;
|
|
4
4
|
message: string;
|
|
5
|
-
} | undefined
|
|
5
|
+
} | undefined;
|
|
6
|
+
export declare function validateRequestPart(key: keyof ContextRequest, context: Context<any>, request: any): RequestPartError | Promise<RequestPartError>;
|
|
7
|
+
export {};
|
|
@@ -5,11 +5,12 @@ const nonProcessingRequestParts = [
|
|
|
5
5
|
'files',
|
|
6
6
|
'auth',
|
|
7
7
|
];
|
|
8
|
-
|
|
8
|
+
function validateRequestPart(key, context, request) {
|
|
9
9
|
if (nonProcessingRequestParts.includes(key)) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
const definitions = context?.request[key] || {};
|
|
13
|
+
if (!Object.keys(definitions).length &&
|
|
13
14
|
!context.options?.allowUnknownFields &&
|
|
14
15
|
![
|
|
15
16
|
'headers',
|
|
@@ -17,6 +18,17 @@ async function validateRequestPart(key, context, request) {
|
|
|
17
18
|
].includes(key)) {
|
|
18
19
|
request[key] = {};
|
|
19
20
|
}
|
|
21
|
+
let hasDefinitions = false;
|
|
22
|
+
for (const _ in context.request[key]) {
|
|
23
|
+
hasDefinitions = true;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
if (!hasDefinitions) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
return validateDeclaredProperties(key, context, request);
|
|
30
|
+
}
|
|
31
|
+
async function validateDeclaredProperties(key, context, request) {
|
|
20
32
|
for (const property in context.request[key]) {
|
|
21
33
|
const { validation, transform, isJSON } = context.request[key][property];
|
|
22
34
|
const { required, handler, error } = validation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-request-part.js","sourceRoot":"","sources":["../../../../src/helpers/validate/context/validate-request-part.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"validate-request-part.js","sourceRoot":"","sources":["../../../../src/helpers/validate/context/validate-request-part.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,13 @@ function toClientError(e) {
|
|
|
43
43
|
}
|
|
44
44
|
return { statusCode: 500, message: 'Internal Server Error' };
|
|
45
45
|
}
|
|
46
|
+
// methods whose request body is read and parsed
|
|
47
|
+
const bodyMethods = new Set([
|
|
48
|
+
_const_1.HttpMethod.PUT,
|
|
49
|
+
_const_1.HttpMethod.PATCH,
|
|
50
|
+
_const_1.HttpMethod.POST,
|
|
51
|
+
_const_1.HttpMethod.QUERY,
|
|
52
|
+
]);
|
|
46
53
|
class RequestProcessor {
|
|
47
54
|
options;
|
|
48
55
|
constructor(requestProcessorOptions) {
|
|
@@ -58,10 +65,14 @@ class RequestProcessor {
|
|
|
58
65
|
respond(res, response, backgroundHeaders = {}) {
|
|
59
66
|
let responseBody;
|
|
60
67
|
const { statusCode, body } = response;
|
|
61
|
-
const
|
|
68
|
+
const responseHeaders = response.headers || {};
|
|
69
|
+
const headers = Object.assign({}, this.options.headers, backgroundHeaders, responseHeaders);
|
|
62
70
|
const isStreamBody = (0, _helper_1.isReadableStream)(body);
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
let contentType = responseHeaders['Content-Type'] ?? responseHeaders['content-type'];
|
|
72
|
+
if (contentType === undefined) {
|
|
73
|
+
const contentTypeKey = Object.keys(responseHeaders).find((h) => h.toLowerCase() === 'content-type');
|
|
74
|
+
contentType = contentTypeKey ? responseHeaders[contentTypeKey] : undefined;
|
|
75
|
+
}
|
|
65
76
|
const isRawBody = body === undefined ||
|
|
66
77
|
body === null ||
|
|
67
78
|
typeof body === 'string' ||
|
|
@@ -80,7 +91,7 @@ class RequestProcessor {
|
|
|
80
91
|
else {
|
|
81
92
|
responseBody = body;
|
|
82
93
|
}
|
|
83
|
-
res.writeHead(statusCode,
|
|
94
|
+
res.writeHead(statusCode, headers);
|
|
84
95
|
if (isStreamBody) {
|
|
85
96
|
responseBody.pipe(res);
|
|
86
97
|
}
|
|
@@ -186,12 +197,7 @@ class RequestProcessor {
|
|
|
186
197
|
let rawBody = '';
|
|
187
198
|
let query = {};
|
|
188
199
|
let files = {};
|
|
189
|
-
if (
|
|
190
|
-
_const_1.HttpMethod.PUT,
|
|
191
|
-
_const_1.HttpMethod.PATCH,
|
|
192
|
-
_const_1.HttpMethod.POST,
|
|
193
|
-
_const_1.HttpMethod.QUERY,
|
|
194
|
-
].includes(method)) {
|
|
200
|
+
if (bodyMethods.has(method)) {
|
|
195
201
|
const r = await (0, _helper_1.bodyParser)(req, res, this.options.maxBodySizeBytes);
|
|
196
202
|
body = r.body;
|
|
197
203
|
rawBody = r.rawBody;
|
|
@@ -241,7 +247,9 @@ class RequestProcessor {
|
|
|
241
247
|
}
|
|
242
248
|
// Validate request
|
|
243
249
|
for (const key in context.request) {
|
|
244
|
-
const
|
|
250
|
+
const result = (0, _helper_1.validateRequestPart)(key, context, request);
|
|
251
|
+
// only await when validators actually ran; a plain value needs no microtask
|
|
252
|
+
const error = result instanceof Promise ? await result : result;
|
|
245
253
|
if (error) {
|
|
246
254
|
return this.respondError(res, error, backgroundHeaders);
|
|
247
255
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-processor.js","sourceRoot":"","sources":["../../src/request-processor/request-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-processor.js","sourceRoot":"","sources":["../../src/request-processor/request-processor.ts"],"names":[],"mappings":";;;AAyBA,oDAaC;AAQD,sCAMC;AAnDD,+BAA4B;AAC5B,2BAAiE;AAEjE,mCAAgF;AAGhF,qCASiB;AAEjB,IAAI,cAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;AAC5C,IAAI,kBAAkB,GAAW,EAAE,CAAC;AACpC;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,GAAW,EAAE,SAAiB;IACjE,MAAM,KAAK,GAAW,IAAA,wBAAc,EAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAW,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,IAAY,CAAC;IACjB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,IAAI,GAAG,YAAY,CAAC;IACtB,CAAC;SAAM,IAAI,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,mFAAmF;QACnF,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,CAAM;IAClC,MAAM,UAAU,GAAY,CAAC,EAAE,UAAU,CAAC;IAC1C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9G,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAC/D,CAAC;AAED,gDAAgD;AAChD,MAAM,WAAW,GAAgB,IAAI,GAAG,CAAS;IAC/C,mBAAU,CAAC,GAAG;IACd,mBAAU,CAAC,KAAK;IAChB,mBAAU,CAAC,IAAI;IACf,mBAAU,CAAC,KAAK;CACjB,CAAC,CAAC;AAEH,MAAa,gBAAgB;IACV,OAAO,CAA0B;IAElD,YAAY,uBAAgD;QAC1D,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;QACvC,IAAI,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC/C,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/D,sEAAsE;YACtE,cAAc,GAAG,IAAI,GAAG,CACtB,IAAA,gBAAW,EAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBACrD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;iBACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IAES,OAAO,CAAC,GAAmB,EAAE,QAAuB,EAAE,oBAA4C,EAAE;QAC5G,IAAI,YAAiB,CAAC;QACtB,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QACtC,MAAM,eAAe,GAA2B,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACvE,MAAM,OAAO,GAA2B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;QACpH,MAAM,YAAY,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAuB,eAAe,CAAC,cAAc,CAAC,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;QACzG,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAuB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAC1E,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc,CAC1C,CAAC;YACF,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,CAAC;QACD,MAAM,SAAS,GACb,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,IAAI;YACb,OAAO,IAAI,KAAK,QAAQ;YACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,IAAI,YAAY,UAAU,CAAC;QAC7B,IAAI,WAAW,EAAE,UAAU,CAAC,oBAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;YACvC,8EAA8E;YAC9E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,cAAc,CAAC,GAAG,oBAAW,CAAC,IAAI,CAAC;YAC7C,CAAC;YACD,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAES,YAAY,CAAC,GAAmB,EAAE,KAAuB,EAAE,UAAkC,EAAE;QACvG,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,yEAAyE;YACzE,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACvB,UAAU;YACV,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE;YACpF,IAAI,EAAE,EAAE,OAAO,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAoB,EAAE,GAAmB;QAC5D,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YACxD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAChC,MAAM,GAAG,GAAG,IAAA,wBAAc,EAAC,GAAG,CAAC,GAAa,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAY,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAY,IAAK,GAAG,CAAC,MAAM,EAAE,aAAwB,CAAC;YACvG,MAAM,MAAM,GAAY,GAAG,CAAC,OAAO,CAAC,MAAiB,IAAI,GAAG,CAAC;YAC7D,0BAA0B;YAC1B,IAAI,UAAU,EAAE,MAAM,EAAE,CAAC;gBACvB,IAAI,MAAM,KAAK,mBAAU,CAAC,GAAG,EAAE,CAAC;oBAC9B,MAAM,WAAW,GAAuB,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,eAAe,CAAC;wBAC1E,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,KAAe,CAAC,CAAC;oBAC1D,IAAI,WAAW,EAAE,CAAC;wBAChB,yFAAyF;wBACzF,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;wBACvD,IAAI,WAAW,KAAK,sCAA6B,EAAE,CAAC;4BAClD,MAAM,eAAe,GAAG,IAAA,iBAAY,EAAC,QAAQ,CAAC;iCAC3C,QAAQ,EAAE;iCACV,OAAO,CAAC,6CAA6C,EAAE,eAAe,CAAC,CAAC;4BAC3E,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;gCACjB,cAAc,EAAE,uCAAuC;gCACvD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;6BACrD,CAAC,CAAC;4BACH,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;4BACzB,OAAO;wBACT,CAAC;wBACD,MAAM,MAAM,GAAG,IAAA,qBAAgB,EAAC,QAAQ,CAAC,CAAC;wBAC1C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;4BACtB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gCACrB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;4BACvG,CAAC;iCAAM,CAAC;gCACN,GAAG,CAAC,OAAO,EAAE,CAAC;4BAChB,CAAC;wBACH,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACjB,OAAO;oBACT,CAAC;yBAAM,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;4BACvB,UAAU,EAAE,GAAG;4BACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;4BAC/C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB;yBAC3C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,qBAAqB;YACrB,MAAM,CACJ,GAAG,EACH,WAAW,EACZ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAoB,EAAE,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC,CAAC;YACtE,IAAI,iBAAiB,GAA2B,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC5B,iBAAiB,GAAG;oBAClB,8BAA8B,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACvE,8BAA8B,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAClG,+BAA+B,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAClG,kCAAkC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iBAC5G,CAAC;gBACF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACpE,iBAAiB,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC;oBAC5D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,6BAA6B,CAAC;wBAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAwB,IAAI,MAAM,CAAC;gBACzE,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,YAAY;gBACZ,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,iBAAiB,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,OAAO;gBACP,IAAI,UAAU,IAAI,MAAM,KAAK,mBAAU,CAAC,OAAO,EAAE,CAAC;oBAChD,MAAM,QAAQ,GAAkB,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACtE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBACxD,CAAC;gBAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;gBAEzC,gCAAgC;gBAChC,IAAI,IAAI,GAAQ,EAAE,CAAC;gBACnB,IAAI,OAAO,GAAW,EAAE,CAAC;gBACzB,IAAI,KAAK,GAAQ,EAAE,CAAC;gBACpB,IAAI,KAAK,GAAQ,EAAE,CAAC;gBAEpB,IAAI,WAAW,CAAC,GAAG,CAAC,MAAgB,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,GAAG,MAAM,IAAA,oBAAU,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,gBAA0B,CAAC,CAAC;oBAC9E,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;oBACd,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBACpB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;gBAClB,CAAC;gBAED,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC1B,KAAK,GAAG,IAAA,qBAAW,EAAC,WAAW,CAAC,CAAC;gBACnC,CAAC;gBAED,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBACxD,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpD,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClD,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClD,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;gBAEpD,MAAM,OAAO,GAAY;oBACvB,OAAO,EAAE,GAAG;oBACZ,EAAE;oBACF,MAAM;oBACN,MAAM,EAAE,MAAoB;oBAC5B,GAAG;oBACH,IAAI,EAAE,EAAE;oBACR,OAAO;oBACP,IAAI;oBACJ,KAAK;iBACN,CAAC;gBACF,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACtB,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5B,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,eAAe;gBACf,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAqB,MAAM,IAAA,sBAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzE,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBACD,iBAAiB;gBACjB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBACzE,MAAM,WAAW,GAAG,MAAM,IAAA,8BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACjE,IAAI,WAAW,EAAE,CAAC;wBAChB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBACD,mBAAmB;gBACnB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,IAAA,6BAAmB,EAAC,GAA2B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAClF,4EAA4E;oBAC5E,MAAM,KAAK,GAAiC,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC9F,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBACD,2BAA2B;gBAC3B,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAiC,MAAM,IAAA,8BAAoB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzF,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAkB,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,CAAU,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAES,QAAQ,CAAC,CAAQ;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAjPD,4CAiPC"}
|
package/dist/router/router.js
CHANGED
|
@@ -86,6 +86,7 @@ class Router {
|
|
|
86
86
|
route: optionsRouteRegEx,
|
|
87
87
|
path: pathData,
|
|
88
88
|
context,
|
|
89
|
+
optionsDataKey: this.getOptionsDataKey(_const_1.HttpMethod.OPTIONS, optionsRouteRegEx),
|
|
89
90
|
handler: (request) => {
|
|
90
91
|
const headers = {
|
|
91
92
|
'Access-Control-Allow-Methods': this.getOptionsData(optionsDataKey).join(', '),
|
|
@@ -111,7 +112,7 @@ class Router {
|
|
|
111
112
|
});
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
this.routes.set(routeRegEx, { route: routeRegEx, path: pathData, context, handler });
|
|
115
|
+
this.routes.set(routeRegEx, { route: routeRegEx, path: pathData, context, handler, optionsDataKey });
|
|
115
116
|
this.sortRoutes();
|
|
116
117
|
}
|
|
117
118
|
/**
|
|
@@ -132,18 +133,14 @@ class Router {
|
|
|
132
133
|
parse(method, uri) {
|
|
133
134
|
uri = (0, _helper_1.clearRoutePath)(uri);
|
|
134
135
|
const p = `${method}${uri}`;
|
|
135
|
-
const keys = Array.from(this.routes.keys());
|
|
136
136
|
const path = {};
|
|
137
|
-
for (
|
|
138
|
-
const route = keys[i];
|
|
137
|
+
for (const [route, data,] of this.routes) {
|
|
139
138
|
const matches = p.match(route);
|
|
140
139
|
if (matches) {
|
|
141
|
-
const data = this.routes.get(route);
|
|
142
140
|
for (const k in data.path) {
|
|
143
141
|
path[k] = matches[data.path[k]];
|
|
144
142
|
}
|
|
145
|
-
const
|
|
146
|
-
const allowedMethods = this.options.cors.allowedMethods.get(optionsDataKey);
|
|
143
|
+
const allowedMethods = this.options.cors.allowedMethods.get(data.optionsDataKey ?? this.getOptionsDataKey(method, route));
|
|
147
144
|
return { ...data, path, allowedMethods };
|
|
148
145
|
}
|
|
149
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/d.patch
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
diff --git a/src/helpers/parser/body-parser.ts b/src/helpers/parser/body-parser.ts
|
|
2
|
-
index e4c74fd..a3dc865 100644
|
|
3
|
-
--- a/src/helpers/parser/body-parser.ts
|
|
4
|
-
+++ b/src/helpers/parser/body-parser.ts
|
|
5
|
-
@@ -113,11 +113,14 @@ export async function bodyParser(req: IncomingMessage, res: OutgoingMessage, lim
|
|
6
|
-
result.rawBody = body;
|
|
7
|
-
if (contentType?.startsWith(ContentType.JSON)) {
|
|
8
|
-
try {
|
|
9
|
-
- result.body = JSON.parse(body, function (key, value) {
|
|
10
|
-
- if (!deprecatedJsonPropertiesRegExp.test(key)) {
|
|
11
|
-
- return value;
|
|
12
|
-
- }
|
|
13
|
-
- });
|
|
14
|
-
+ // A reviver takes V8 off its fast JSON path, so only use it when a forbidden key can be present
|
|
15
|
-
+ result.body = deprecatedJsonPropertiesRegExp.test(body)
|
|
16
|
-
+ ? JSON.parse(body, function (key, value) {
|
|
17
|
-
+ if (!deprecatedJsonPropertiesRegExp.test(key)) {
|
|
18
|
-
+ return value;
|
|
19
|
-
+ }
|
|
20
|
-
+ })
|
|
21
|
-
+ : JSON.parse(body);
|
|
22
|
-
resolve();
|
|
23
|
-
} catch (e) {
|
|
24
|
-
reject({ statusCode: 400, message: `Invalid JSON body` });
|
|
25
|
-
diff --git a/test/unit/parsers.test.ts b/test/unit/parsers.test.ts
|
|
26
|
-
index 79c4095..396539d 100644
|
|
27
|
-
--- a/test/unit/parsers.test.ts
|
|
28
|
-
+++ b/test/unit/parsers.test.ts
|
|
29
|
-
@@ -2,6 +2,8 @@ import { describe, it } from 'node:test';
|
|
30
|
-
import assert from 'node:assert/strict';
|
|
31
|
-
import { queryParser, clearRoutePath, getProperty, setProperty } from '../../src/helpers';
|
|
32
|
-
import { xmlParser } from '../../src/helpers/parser/xml-parser';
|
|
33
|
-
+import { bodyParser } from '../../src/helpers/parser/body-parser';
|
|
34
|
-
+import { Readable } from 'stream';
|
|
35
|
-
|
|
36
|
-
describe('clearRoutePath', () => {
|
|
37
|
-
it('adds a leading slash', () => {
|
|
38
|
-
@@ -295,3 +297,43 @@ describe('xmlParser', () => {
|
|
39
|
-
assert.equal(Object.keys(r).length, 0);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
+
|
|
43
|
-
+describe('bodyParser (JSON)', () => {
|
|
44
|
-
+ const parseJson = async (text: string) => {
|
|
45
|
-
+ const req: any = Readable.from([Buffer.from(text)]);
|
|
46
|
-
+ req.headers = { 'content-type': 'application/json' };
|
|
47
|
-
+ return (await bodyParser(req, {} as any, 0)).body;
|
|
48
|
-
+ };
|
|
49
|
-
+
|
|
50
|
-
+ it('parses a plain JSON body', async () => {
|
|
51
|
-
+ assert.deepEqual(await parseJson('{"a":1,"b":[1,2],"c":{"d":"e"}}'), {
|
|
52
|
-
+ a: 1,
|
|
53
|
-
+ b: [
|
|
54
|
-
+ 1,
|
|
55
|
-
+ 2,
|
|
56
|
-
+ ],
|
|
57
|
-
+ c: { d: 'e' },
|
|
58
|
-
+ });
|
|
59
|
-
+ });
|
|
60
|
-
+
|
|
61
|
-
+ it('drops __proto__ / constructor / prototype / __defineGetter__ / __defineSetter__ keys at any depth', async () => {
|
|
62
|
-
+ const body = await parseJson(
|
|
63
|
-
+ '{"a":1,"__proto__":{"polluted":true},"constructor":{"prototype":{"x":1}},"prototype":1,' +
|
|
64
|
-
+ '"__defineGetter__":1,"__defineSetter__":2,"nested":{"b":2,"__proto__":{"y":1}}}',
|
|
65
|
-
+ );
|
|
66
|
-
+ assert.deepEqual(body, { a: 1, nested: { b: 2 } });
|
|
67
|
-
+ assert.equal(Object.getPrototypeOf(body), Object.prototype);
|
|
68
|
-
+ assert.equal(({} as any).polluted, undefined);
|
|
69
|
-
+ });
|
|
70
|
-
+
|
|
71
|
-
+ it('keeps string values that merely mention a forbidden key', async () => {
|
|
72
|
-
+ assert.deepEqual(await parseJson('{"note":"the constructor of __proto__ chains","list":["prototype"]}'), {
|
|
73
|
-
+ note: 'the constructor of __proto__ chains',
|
|
74
|
-
+ list: ['prototype'],
|
|
75
|
-
+ });
|
|
76
|
-
+ });
|
|
77
|
-
+
|
|
78
|
-
+ it('rejects malformed JSON with an HTTP-mappable 400', async () => {
|
|
79
|
-
+ await assert.rejects(parseJson('{"a":'), { statusCode: 400, message: 'Invalid JSON body' });
|
|
80
|
-
+ });
|
|
81
|
-
+});
|