alado 1.11.0 → 2.0.0
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/README.md +525 -11
- package/dist/alado-server/alado-server.d.ts +1 -0
- package/dist/alado-server/alado-server.js +2 -0
- package/dist/alado-server/alado-server.js.map +1 -1
- package/dist/constants/default-id.d.ts +1 -0
- package/dist/constants/default-id.js +5 -0
- package/dist/constants/default-id.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.js +1 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/decorators/define-request.d.ts +3 -0
- package/dist/decorators/define-request.js +22 -0
- package/dist/decorators/define-request.js.map +1 -0
- package/dist/decorators/define-response.d.ts +2 -0
- package/dist/decorators/define-response.js +18 -0
- package/dist/decorators/define-response.js.map +1 -0
- package/dist/decorators/document-property.d.ts +2 -0
- package/dist/decorators/document-property.js +21 -0
- package/dist/decorators/document-property.js.map +1 -0
- package/dist/decorators/file-upload-property.d.ts +2 -0
- package/dist/decorators/file-upload-property.js +17 -0
- package/dist/decorators/file-upload-property.js.map +1 -0
- package/dist/decorators/http.d.ts +7 -0
- package/dist/decorators/http.js +72 -0
- package/dist/decorators/http.js.map +1 -0
- package/dist/decorators/index.d.ts +8 -0
- package/dist/decorators/index.js +25 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/decorators/initialize-application.d.ts +3 -0
- package/dist/decorators/initialize-application.js +27 -0
- package/dist/decorators/initialize-application.js.map +1 -0
- package/dist/decorators/initialize-injector.d.ts +1 -0
- package/dist/decorators/initialize-injector.js +17 -0
- package/dist/decorators/initialize-injector.js.map +1 -0
- package/dist/decorators/validate-property.d.ts +2 -0
- package/dist/decorators/validate-property.js +22 -0
- package/dist/decorators/validate-property.js.map +1 -0
- package/dist/decorators/with-auth.d.ts +2 -0
- package/dist/decorators/with-auth.js +15 -0
- package/dist/decorators/with-auth.js.map +1 -0
- package/dist/dto/alado-server-error.d.ts +2 -2
- package/dist/dto/index.d.ts +1 -0
- package/dist/dto/index.js +1 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/open-api-doc-object.d.ts +4 -0
- package/dist/dto/open-api-doc-object.js +3 -0
- package/dist/dto/open-api-doc-object.js.map +1 -0
- package/dist/factory/open-api-doc-factory.js +5 -8
- package/dist/factory/open-api-doc-factory.js.map +1 -1
- package/dist/helpers/api-doc/doc-object-setter.d.ts +2 -0
- package/dist/helpers/api-doc/doc-object-setter.js +25 -0
- package/dist/helpers/api-doc/doc-object-setter.js.map +1 -0
- package/dist/helpers/api-doc/index.d.ts +1 -0
- package/dist/helpers/api-doc/index.js +18 -0
- package/dist/helpers/api-doc/index.js.map +1 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/parser/body-parser.d.ts +2 -2
- package/dist/helpers/parser/body-parser.js +10 -2
- package/dist/helpers/parser/body-parser.js.map +1 -1
- package/dist/helpers/validate/alado-options/validate-alado-options.js +18 -5
- package/dist/helpers/validate/alado-options/validate-alado-options.js.map +1 -1
- package/dist/helpers/validate/context/validate-context.js +1 -1
- package/dist/helpers/validate/context/validate-context.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/injector/index.d.ts +1 -0
- package/dist/injector/index.js +6 -0
- package/dist/injector/index.js.map +1 -0
- package/dist/injector/injector.d.ts +6 -0
- package/dist/{global → injector}/injector.js +2 -1
- package/dist/injector/injector.js.map +1 -0
- package/dist/options/alado-server-options.d.ts +2 -0
- package/dist/options/context-options.d.ts +14 -7
- package/dist/options/http-decorator-options.d.ts +7 -0
- package/dist/options/http-decorator-options.js +3 -0
- package/dist/options/http-decorator-options.js.map +1 -0
- package/dist/options/index.d.ts +3 -0
- package/dist/options/index.js +3 -0
- package/dist/options/index.js.map +1 -1
- package/dist/options/initialize-application-options.d.ts +6 -0
- package/dist/options/initialize-application-options.js +3 -0
- package/dist/options/initialize-application-options.js.map +1 -0
- package/dist/options/injector-options.d.ts +11 -0
- package/dist/{global/index.js → options/injector-options.js} +1 -1
- package/dist/options/injector-options.js.map +1 -0
- package/dist/options/request-processor-options.d.ts +1 -0
- package/dist/request-processor/request-processor.js +2 -2
- package/dist/request-processor/request-processor.js.map +1 -1
- package/package.json +1 -1
- package/dist/global/index.d.ts +0 -1
- package/dist/global/index.js.map +0 -1
- package/dist/global/injector.d.ts +0 -4
- package/dist/global/injector.js.map +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineRequest = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
6
|
+
function defineRequest(request) {
|
|
7
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
8
|
+
return function (...args) {
|
|
9
|
+
if (!_injector_1.injector.injected.requestMapping) {
|
|
10
|
+
_injector_1.injector.injected.requestMapping = {};
|
|
11
|
+
}
|
|
12
|
+
const key = `${args[0].constructor.name}.${args[1]}`;
|
|
13
|
+
const r = {};
|
|
14
|
+
for (const k in request) {
|
|
15
|
+
const className = request[k].name;
|
|
16
|
+
r[k] = _injector_1.injector.injected.propertyDefinitionsMapping[className];
|
|
17
|
+
_injector_1.injector.injected.requestMapping[key] = r;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.defineRequest = defineRequest;
|
|
22
|
+
//# sourceMappingURL=define-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-request.js","sourceRoot":"","sources":["../../src/decorators/define-request.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AAErC,+DAA2D;AAC3D,SAAgB,aAAa,CAAC,OAAiD;IAC7E,IAAA,wCAAkB,GAAE,CAAC;IACrB,OAAO,UAAU,GAAG,IAAW;QAC7B,IAAI,CAAC,oBAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YACtC,oBAAQ,CAAC,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAC;QACxC,CAAC;QACD,MAAM,GAAG,GAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,GAAgF,EAAE,CAAC;QAC1F,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAkB,CAAC,CAAC,IAAI,CAAC;YACnD,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAC/D,oBAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAdD,sCAcC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defineResponse = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
6
|
+
function defineResponse(response) {
|
|
7
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
8
|
+
return function (...args) {
|
|
9
|
+
if (!_injector_1.injector.injected.responseMapping) {
|
|
10
|
+
_injector_1.injector.injected.responseMapping = {};
|
|
11
|
+
}
|
|
12
|
+
const [controller, method,] = args;
|
|
13
|
+
const key = `${controller.constructor.name}.${method}`;
|
|
14
|
+
_injector_1.injector.injected.responseMapping[key] = response;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.defineResponse = defineResponse;
|
|
18
|
+
//# sourceMappingURL=define-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-response.js","sourceRoot":"","sources":["../../src/decorators/define-response.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,+DAA2D;AAE3D,SAAgB,cAAc,CAAC,QAAuB;IACpD,IAAA,wCAAkB,GAAE,CAAC;IACrB,OAAO,UAAU,GAAG,IAAW;QAC7B,IAAI,CAAC,oBAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YACvC,oBAAQ,CAAC,QAAQ,CAAC,eAAe,GAAG,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,CACJ,UAAU,EACV,MAAM,EACP,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACvD,oBAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACpD,CAAC,CAAC;AACJ,CAAC;AAbD,wCAaC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.documentProperty = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
6
|
+
function documentProperty(propertyDocumentation) {
|
|
7
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
8
|
+
return function (...args) {
|
|
9
|
+
if (!_injector_1.injector.injected.propertyDefinitionsMapping) {
|
|
10
|
+
_injector_1.injector.injected.propertyDefinitionsMapping = {};
|
|
11
|
+
}
|
|
12
|
+
const key = args[0].constructor.name;
|
|
13
|
+
const { propertyDefinitionsMapping } = _injector_1.injector.injected;
|
|
14
|
+
propertyDefinitionsMapping[key] = propertyDefinitionsMapping[key] || {};
|
|
15
|
+
propertyDefinitionsMapping[key][args[1]] =
|
|
16
|
+
propertyDefinitionsMapping[key][args[1]] || {};
|
|
17
|
+
propertyDefinitionsMapping[key][args[1]].openApiDoc = propertyDocumentation;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
exports.documentProperty = documentProperty;
|
|
21
|
+
//# sourceMappingURL=document-property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-property.js","sourceRoot":"","sources":["../../src/decorators/document-property.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AACrC,+DAA2D;AAE3D,SAAgB,gBAAgB,CAAC,qBAA4C;IAC3E,IAAA,wCAAkB,GAAE,CAAC;IACrB,OAAO,UAAU,GAAG,IAAW;QAC7B,IAAI,CAAC,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YAClD,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,MAAM,EAAE,0BAA0B,EAAE,GAAG,oBAAQ,CAAC,QAAQ,CAAC;QACzD,0BAA0B,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAK,EAAyC,CAAC;QAChH,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;YAChD,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,IAAK,EAAyB,CAAC;QAClF,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAwB,CAAC,UAAU,GAAG,qBAAqB,CAAC;IAChH,CAAC,CAAC;AACJ,CAAC;AAbD,4CAaC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fileUploadProperty = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
6
|
+
function fileUploadProperty(filePropertyDefinition) {
|
|
7
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
8
|
+
return function (...args) {
|
|
9
|
+
const key = args[0].constructor.name;
|
|
10
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key] =
|
|
11
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key] ||
|
|
12
|
+
{};
|
|
13
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key][args[1]] = filePropertyDefinition;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.fileUploadProperty = fileUploadProperty;
|
|
17
|
+
//# sourceMappingURL=file-upload-property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-upload-property.js","sourceRoot":"","sources":["../../src/decorators/file-upload-property.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AACrC,+DAA2D;AAE3D,SAAgB,kBAAkB,CAAC,sBAA8C;IAC/E,IAAA,wCAAkB,GAAE,CAAC;IACrB,OAAO,UAAU,GAAG,IAAW;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC;YAC/C,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC;gBAChD,EAAkE,CAAC;QACtE,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,GAAG,sBAAsB,CAAC;IAChG,CAAC,CAAC;AACJ,CAAC;AATD,gDASC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HttpDecoratorOptions } from '../options';
|
|
2
|
+
export declare function get(path: string, options?: HttpDecoratorOptions): (instance: any, method: string) => void;
|
|
3
|
+
export declare function post(path: string, options?: HttpDecoratorOptions): (instance: any, method: string) => void;
|
|
4
|
+
export declare function put(path: string, options?: HttpDecoratorOptions): (instance: any, method: string) => void;
|
|
5
|
+
export declare function patch(path: string, options?: HttpDecoratorOptions): (instance: any, method: string) => void;
|
|
6
|
+
export declare function del(path: string, options?: HttpDecoratorOptions): (instance: any, method: string) => void;
|
|
7
|
+
export declare function head(path: string, options?: HttpDecoratorOptions): (instance: any, method: string) => void;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.head = exports.del = exports.patch = exports.put = exports.post = exports.get = void 0;
|
|
4
|
+
const _const_1 = require("../constants");
|
|
5
|
+
const _injector_1 = require("../injector");
|
|
6
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
7
|
+
function callHttpMethod(httpMethod, path, options = {}) {
|
|
8
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
9
|
+
const defaultDescription = `${httpMethod} ${path}`;
|
|
10
|
+
const normalizedMethod = httpMethod.toLowerCase();
|
|
11
|
+
const appId = options?.appId || _const_1.DEFAULT_ID;
|
|
12
|
+
const app = _injector_1.injector.injected.appMapping[appId];
|
|
13
|
+
return function (instance, method) {
|
|
14
|
+
const key = `${instance.constructor.name}.${method}`;
|
|
15
|
+
const fn = (app) => {
|
|
16
|
+
app[normalizedMethod](path, {
|
|
17
|
+
title: options.title || defaultDescription,
|
|
18
|
+
auth: _injector_1.injector.injected.authMapping[key] || undefined,
|
|
19
|
+
options: {
|
|
20
|
+
allowUnknownFields: false,
|
|
21
|
+
isHidden: options.isHidden || false,
|
|
22
|
+
openApiDoc: {
|
|
23
|
+
description: options.description || defaultDescription,
|
|
24
|
+
operationId: defaultDescription,
|
|
25
|
+
tags: options.tags || [],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
request: _injector_1.injector.injected.requestMapping[key] || {},
|
|
29
|
+
response: _injector_1.injector.injected.responseMapping[key] || {},
|
|
30
|
+
}, instance[method].bind(instance));
|
|
31
|
+
};
|
|
32
|
+
if (app) {
|
|
33
|
+
fn(app);
|
|
34
|
+
const shadowApp = _injector_1.injector.injected.shadowAppMapping[appId];
|
|
35
|
+
if (Array.isArray(shadowApp) && shadowApp.length) {
|
|
36
|
+
while (shadowApp.length) {
|
|
37
|
+
const fn = shadowApp.pop();
|
|
38
|
+
fn(app);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
_injector_1.injector.injected.shadowAppMapping[appId] = _injector_1.injector.injected.shadowAppMapping[appId] || [];
|
|
44
|
+
_injector_1.injector.injected.shadowAppMapping[appId].push(fn);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function get(path, options = {}) {
|
|
49
|
+
return callHttpMethod(_const_1.HttpMethod.GET, path, options);
|
|
50
|
+
}
|
|
51
|
+
exports.get = get;
|
|
52
|
+
function post(path, options = {}) {
|
|
53
|
+
return callHttpMethod(_const_1.HttpMethod.POST, path, options);
|
|
54
|
+
}
|
|
55
|
+
exports.post = post;
|
|
56
|
+
function put(path, options = {}) {
|
|
57
|
+
return callHttpMethod(_const_1.HttpMethod.PUT, path, options);
|
|
58
|
+
}
|
|
59
|
+
exports.put = put;
|
|
60
|
+
function patch(path, options = {}) {
|
|
61
|
+
return callHttpMethod(_const_1.HttpMethod.PATCH, path, options);
|
|
62
|
+
}
|
|
63
|
+
exports.patch = patch;
|
|
64
|
+
function del(path, options = {}) {
|
|
65
|
+
return callHttpMethod(_const_1.HttpMethod.DELETE, path, options);
|
|
66
|
+
}
|
|
67
|
+
exports.del = del;
|
|
68
|
+
function head(path, options = {}) {
|
|
69
|
+
return callHttpMethod(_const_1.HttpMethod.HEAD, path, options);
|
|
70
|
+
}
|
|
71
|
+
exports.head = head;
|
|
72
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/decorators/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './initialize-application';
|
|
2
|
+
export * from './document-property';
|
|
3
|
+
export * from './validate-property';
|
|
4
|
+
export * from './file-upload-property';
|
|
5
|
+
export * from './with-auth';
|
|
6
|
+
export * from './define-request';
|
|
7
|
+
export * from './define-response';
|
|
8
|
+
export * from './http';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./initialize-application"), exports);
|
|
18
|
+
__exportStar(require("./document-property"), exports);
|
|
19
|
+
__exportStar(require("./validate-property"), exports);
|
|
20
|
+
__exportStar(require("./file-upload-property"), exports);
|
|
21
|
+
__exportStar(require("./with-auth"), exports);
|
|
22
|
+
__exportStar(require("./define-request"), exports);
|
|
23
|
+
__exportStar(require("./define-response"), exports);
|
|
24
|
+
__exportStar(require("./http"), exports);
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,8CAA4B;AAC5B,mDAAiC;AACjC,oDAAkC;AAClC,yCAAuB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeApplication = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const _const_1 = require("../constants");
|
|
6
|
+
const _alado_1 = require("../alado-server");
|
|
7
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
8
|
+
function initializeApplication(initializeApplicationOptions) {
|
|
9
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
10
|
+
const { serverOptions, controllers } = initializeApplicationOptions;
|
|
11
|
+
_injector_1.injector.injected.appMapping[serverOptions.appId || _const_1.DEFAULT_ID] =
|
|
12
|
+
_injector_1.injector.injected.appMapping[serverOptions.appId || _const_1.DEFAULT_ID] || new _alado_1.AladoServer(serverOptions);
|
|
13
|
+
const app = _injector_1.injector.injected.appMapping[serverOptions.appId || _const_1.DEFAULT_ID];
|
|
14
|
+
for (const Controller of controllers) {
|
|
15
|
+
new Controller();
|
|
16
|
+
}
|
|
17
|
+
const shadowApp = _injector_1.injector.injected.shadowAppMapping[serverOptions.appId || _const_1.DEFAULT_ID];
|
|
18
|
+
if (Array.isArray(shadowApp) && shadowApp.length) {
|
|
19
|
+
while (shadowApp.length) {
|
|
20
|
+
const fn = shadowApp.pop();
|
|
21
|
+
fn(app);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return app;
|
|
25
|
+
}
|
|
26
|
+
exports.initializeApplication = initializeApplication;
|
|
27
|
+
//# sourceMappingURL=initialize-application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize-application.js","sourceRoot":"","sources":["../../src/decorators/initialize-application.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AACrC,mCAAoC;AACpC,mCAAqC;AACrC,+DAA2D;AAE3D,SAAgB,qBAAqB,CAAC,4BAA0D;IAC9F,IAAA,wCAAkB,GAAE,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,4BAA4B,CAAC;IACpE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,mBAAU,CAAC;QAC7D,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,mBAAU,CAAC,IAAI,IAAI,oBAAW,CAAC,aAAa,CAAC,CAAC;IACpG,MAAM,GAAG,GAAgB,oBAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,mBAAU,CAAC,CAAC;IACzF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,UAAU,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,SAAS,GAAG,oBAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,IAAI,mBAAU,CAAC,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;YAC3B,EAAE,CAAC,GAAG,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAjBD,sDAiBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function initializeInjector(): void;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeInjector = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
function initializeInjector() {
|
|
6
|
+
_injector_1.injector.inject({
|
|
7
|
+
appMapping: _injector_1.injector.injected.appMapping || {},
|
|
8
|
+
shadowAppMapping: _injector_1.injector.injected.shadowAppMapping || {},
|
|
9
|
+
requestMapping: _injector_1.injector.injected.requestMapping || {},
|
|
10
|
+
responseMapping: _injector_1.injector.injected.responseMapping || {},
|
|
11
|
+
authMapping: _injector_1.injector.injected.authMapping || {},
|
|
12
|
+
propertyDefinitionsMapping: _injector_1.injector.injected.propertyDefinitionsMapping || {},
|
|
13
|
+
controllers: _injector_1.injector.injected.controllers || {},
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
exports.initializeInjector = initializeInjector;
|
|
17
|
+
//# sourceMappingURL=initialize-injector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize-injector.js","sourceRoot":"","sources":["../../src/decorators/initialize-injector.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,SAAgB,kBAAkB;IAChC,oBAAQ,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,oBAAQ,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE;QAC9C,gBAAgB,EAAE,oBAAQ,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE;QAC1D,cAAc,EAAE,oBAAQ,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE;QACtD,eAAe,EAAE,oBAAQ,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE;QACxD,WAAW,EAAE,oBAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE;QAChD,0BAA0B,EAAE,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,IAAI,EAAE;QAC9E,WAAW,EAAE,oBAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE;KACjD,CAAC,CAAC;AACL,CAAC;AAVD,gDAUC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateProperty = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
6
|
+
function validateProperty(propertyValidation) {
|
|
7
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
8
|
+
return function (...args) {
|
|
9
|
+
if (!_injector_1.injector.injected.propertyDefinitionsMapping) {
|
|
10
|
+
_injector_1.injector.injected.propertyDefinitionsMapping = {};
|
|
11
|
+
}
|
|
12
|
+
const key = args[0].constructor.name;
|
|
13
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key] =
|
|
14
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key] || {};
|
|
15
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key][args[1]] =
|
|
16
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key][args[1]] || {};
|
|
17
|
+
_injector_1.injector.injected.propertyDefinitionsMapping[key][args[1]].validation =
|
|
18
|
+
propertyValidation;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.validateProperty = validateProperty;
|
|
22
|
+
//# sourceMappingURL=validate-property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-property.js","sourceRoot":"","sources":["../../src/decorators/validate-property.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AACrC,+DAA2D;AAE3D,SAAgB,gBAAgB,CAAC,kBAAsC;IACrE,IAAA,wCAAkB,GAAE,CAAC;IACrB,OAAO,UAAU,GAAG,IAAW;QAC7B,IAAI,CAAC,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YAClD,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,GAAG,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC;YAC/C,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAK,EAAyC,CAAC;QAClG,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC;YAClE,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAC,IAAK,EAAyB,CAAC;QACpG,oBAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,CAAwB,CAAC,UAAU;YACrG,kBAAkB,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC;AAdD,4CAcC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withAuth = void 0;
|
|
4
|
+
const _injector_1 = require("../injector");
|
|
5
|
+
const initialize_injector_1 = require("./initialize-injector");
|
|
6
|
+
function withAuth(requestAuthentication) {
|
|
7
|
+
(0, initialize_injector_1.initializeInjector)();
|
|
8
|
+
return function (...args) {
|
|
9
|
+
const [controller, method,] = args;
|
|
10
|
+
const key = `${controller.constructor.name}.${method}`;
|
|
11
|
+
_injector_1.injector.injected.authMapping[key] = requestAuthentication;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
exports.withAuth = withAuth;
|
|
15
|
+
//# sourceMappingURL=with-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-auth.js","sourceRoot":"","sources":["../../src/decorators/with-auth.ts"],"names":[],"mappings":";;;AACA,yCAAqC;AACrC,+DAA2D;AAE3D,SAAgB,QAAQ,CAAC,qBAA4C;IACnE,IAAA,wCAAkB,GAAE,CAAC;IACrB,OAAO,UAAU,GAAG,IAAW;QAC7B,MAAM,CACJ,UAAU,EACV,MAAM,EACP,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;QACvD,oBAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC;AAVD,4BAUC"}
|
package/dist/dto/index.d.ts
CHANGED
package/dist/dto/index.js
CHANGED
|
@@ -22,4 +22,5 @@ __exportStar(require("./response"), exports);
|
|
|
22
22
|
__exportStar(require("./property-definition"), exports);
|
|
23
23
|
__exportStar(require("./request-authentication"), exports);
|
|
24
24
|
__exportStar(require("./route"), exports);
|
|
25
|
+
__exportStar(require("./open-api-doc-object"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/dist/dto/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,uDAAqC;AACrC,wDAAsC;AACtC,4CAA0B;AAC1B,6CAA2B;AAC3B,wDAAsC;AACtC,2DAAyC;AACzC,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,uDAAqC;AACrC,wDAAsC;AACtC,4CAA0B;AAC1B,6CAA2B;AAC3B,wDAAsC;AACtC,2DAAyC;AACzC,0CAAwB;AACxB,wDAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-api-doc-object.js","sourceRoot":"","sources":["../../src/dto/open-api-doc-object.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.openApiDocFactory = void 0;
|
|
4
|
+
const _helper_1 = require("../helpers");
|
|
4
5
|
const nonBinResponses = [
|
|
5
6
|
'application/json',
|
|
6
7
|
'application/xml',
|
|
@@ -112,10 +113,8 @@ function openApiDocFactory(openApiMethod, openApiRoute, context, openApiDocObjec
|
|
|
112
113
|
if (Array.isArray(body)) {
|
|
113
114
|
let bodyObject = {};
|
|
114
115
|
if (nonBinResponses.includes(responseContentType)) {
|
|
115
|
-
bodyObject = { properties: {} };
|
|
116
|
-
|
|
117
|
-
bodyObject.properties[prop] = body[0][prop];
|
|
118
|
-
}
|
|
116
|
+
bodyObject = { properties: {}, type: 'object' };
|
|
117
|
+
(0, _helper_1.docObjectSetter)(body[0], bodyObject);
|
|
119
118
|
}
|
|
120
119
|
else {
|
|
121
120
|
bodyObject = { example: '' };
|
|
@@ -140,10 +139,8 @@ function openApiDocFactory(openApiMethod, openApiRoute, context, openApiDocObjec
|
|
|
140
139
|
else {
|
|
141
140
|
let bodyObject = {};
|
|
142
141
|
if (nonBinResponses.includes(responseContentType)) {
|
|
143
|
-
bodyObject = { properties: {} };
|
|
144
|
-
|
|
145
|
-
bodyObject.properties[prop] = body[prop];
|
|
146
|
-
}
|
|
142
|
+
bodyObject = { properties: {}, type: 'object' };
|
|
143
|
+
(0, _helper_1.docObjectSetter)(body, bodyObject);
|
|
147
144
|
}
|
|
148
145
|
else {
|
|
149
146
|
bodyObject = { example: '' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-api-doc-factory.js","sourceRoot":"","sources":["../../src/factory/open-api-doc-factory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"open-api-doc-factory.js","sourceRoot":"","sources":["../../src/factory/open-api-doc-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.docObjectSetter = void 0;
|
|
4
|
+
function isOpenApiDocObject(obj) {
|
|
5
|
+
return obj && typeof obj === 'object' && obj.type;
|
|
6
|
+
}
|
|
7
|
+
function docObjectSetter(source, target) {
|
|
8
|
+
for (const key in source) {
|
|
9
|
+
if (source[key] && typeof source[key] === 'object' && !isOpenApiDocObject(source[key])) {
|
|
10
|
+
target.properties[key] = { type: 'object', properties: {} };
|
|
11
|
+
docObjectSetter(source[key], target.properties[key]);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
if (isOpenApiDocObject(source[key])) {
|
|
15
|
+
target.properties[key] = source[key];
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
target.properties[key] = target.properties[key] || {};
|
|
19
|
+
target.properties[key].type = Array.isArray(source[key]) ? 'array' : typeof source[key];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.docObjectSetter = docObjectSetter;
|
|
25
|
+
//# sourceMappingURL=doc-object-setter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-object-setter.js","sourceRoot":"","sources":["../../../src/helpers/api-doc/doc-object-setter.ts"],"names":[],"mappings":";;;AAEA,SAAS,kBAAkB,CAAC,GAAQ;IAClC,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,SAAgB,eAAe,CAAC,MAAW,EAAE,MAAwB;IACnE,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACvF,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YAC5D,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAdD,0CAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './doc-object-setter';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./doc-object-setter"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/api-doc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
|
package/dist/helpers/index.d.ts
CHANGED
package/dist/helpers/index.js
CHANGED
|
@@ -18,4 +18,5 @@ __exportStar(require("./parser"), exports);
|
|
|
18
18
|
__exportStar(require("./accessor"), exports);
|
|
19
19
|
__exportStar(require("./service"), exports);
|
|
20
20
|
__exportStar(require("./validate"), exports);
|
|
21
|
+
__exportStar(require("./api-doc"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { IncomingMessage } from 'http';
|
|
3
|
-
export declare function bodyParser(req: IncomingMessage): Promise<any>;
|
|
2
|
+
import { IncomingMessage, OutgoingMessage } from 'http';
|
|
3
|
+
export declare function bodyParser(req: IncomingMessage, res: OutgoingMessage, limit: number): Promise<any>;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.bodyParser = void 0;
|
|
4
4
|
const _const_1 = require("../../constants");
|
|
5
5
|
const stream_1 = require("stream");
|
|
6
|
-
async function bodyParser(req) {
|
|
6
|
+
async function bodyParser(req, res, limit) {
|
|
7
7
|
const contentType = req.headers['content-type'];
|
|
8
8
|
const result = {
|
|
9
9
|
body: {},
|
|
@@ -71,6 +71,14 @@ async function bodyParser(req) {
|
|
|
71
71
|
await new Promise((resolve, reject) => {
|
|
72
72
|
req.on('data', (chunk) => {
|
|
73
73
|
body += chunk.toString();
|
|
74
|
+
if (limit && Buffer.byteLength(body, 'utf8') > limit) {
|
|
75
|
+
req.removeAllListeners('data');
|
|
76
|
+
req.removeAllListeners('end');
|
|
77
|
+
reject({
|
|
78
|
+
statusCode: 413,
|
|
79
|
+
message: 'Content Too Large',
|
|
80
|
+
});
|
|
81
|
+
}
|
|
74
82
|
});
|
|
75
83
|
req.on('end', () => {
|
|
76
84
|
result.rawBody = body;
|
|
@@ -84,7 +92,7 @@ async function bodyParser(req) {
|
|
|
84
92
|
resolve();
|
|
85
93
|
}
|
|
86
94
|
catch (e) {
|
|
87
|
-
reject({ statusCode: 400, message: `Invalid JSON` });
|
|
95
|
+
reject({ statusCode: 400, message: `Invalid JSON body` });
|
|
88
96
|
}
|
|
89
97
|
}
|
|
90
98
|
else if (contentType?.startsWith(_const_1.ContentType.X_WWW_FORM_URLENCODED)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../../src/helpers/parser/body-parser.ts"],"names":[],"mappings":";;;AACA,mCAAkG;AAClG,mCAAkC;
|
|
1
|
+
{"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../../src/helpers/parser/body-parser.ts"],"names":[],"mappings":"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"}
|