@tc-libs/request 0.9.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 +11 -0
- package/package.json +11 -0
- package/src/constants/index.d.ts +2 -0
- package/src/constants/index.js +6 -0
- package/src/constants/index.js.map +1 -0
- package/src/constants/request.constant.d.ts +3 -0
- package/src/constants/request.constant.js +7 -0
- package/src/constants/request.constant.js.map +1 -0
- package/src/constants/request.enum.constant.d.ts +9 -0
- package/src/constants/request.enum.constant.js +14 -0
- package/src/constants/request.enum.constant.js.map +1 -0
- package/src/decorators/index.d.ts +1 -0
- package/src/decorators/index.js +5 -0
- package/src/decorators/index.js.map +1 -0
- package/src/decorators/request.decorator.d.ts +10 -0
- package/src/decorators/request.decorator.js +44 -0
- package/src/decorators/request.decorator.js.map +1 -0
- package/src/guards/index.d.ts +1 -0
- package/src/guards/index.js +5 -0
- package/src/guards/index.js.map +1 -0
- package/src/guards/request.param.guard.d.ts +7 -0
- package/src/guards/request.param.guard.js +33 -0
- package/src/guards/request.param.guard.js.map +1 -0
- package/src/index.d.ts +8 -0
- package/src/index.js +12 -0
- package/src/index.js.map +1 -0
- package/src/interceptors/index.d.ts +4 -0
- package/src/interceptors/index.js +8 -0
- package/src/interceptors/index.js.map +1 -0
- package/src/interceptors/request.cache.interceptor.d.ts +4 -0
- package/src/interceptors/request.cache.interceptor.js +17 -0
- package/src/interceptors/request.cache.interceptor.js.map +1 -0
- package/src/interceptors/request.timeout.interceptor.d.ts +11 -0
- package/src/interceptors/request.timeout.interceptor.js +49 -0
- package/src/interceptors/request.timeout.interceptor.js.map +1 -0
- package/src/interceptors/request.timestamp.interceptor.d.ts +11 -0
- package/src/interceptors/request.timestamp.interceptor.js +42 -0
- package/src/interceptors/request.timestamp.interceptor.js.map +1 -0
- package/src/interceptors/request.user-agent.interceptor.d.ts +11 -0
- package/src/interceptors/request.user-agent.interceptor.js +44 -0
- package/src/interceptors/request.user-agent.interceptor.js.map +1 -0
- package/src/interfaces/index.d.ts +1 -0
- package/src/interfaces/index.js +5 -0
- package/src/interfaces/index.js.map +1 -0
- package/src/interfaces/request.interface.d.ts +23 -0
- package/src/interfaces/request.interface.js +3 -0
- package/src/interfaces/request.interface.js.map +1 -0
- package/src/middleware/body-parser/request.body-parser.middleware.d.ts +27 -0
- package/src/middleware/body-parser/request.body-parser.middleware.js +77 -0
- package/src/middleware/body-parser/request.body-parser.middleware.js.map +1 -0
- package/src/middleware/cors/request.cors.middleware.d.ts +12 -0
- package/src/middleware/cors/request.cors.middleware.js +35 -0
- package/src/middleware/cors/request.cors.middleware.js.map +1 -0
- package/src/middleware/helmet/request.helmet.middleware.d.ts +5 -0
- package/src/middleware/helmet/request.helmet.middleware.js +16 -0
- package/src/middleware/helmet/request.helmet.middleware.js.map +1 -0
- package/src/middleware/id/request.id.middleware.d.ts +6 -0
- package/src/middleware/id/request.id.middleware.js +18 -0
- package/src/middleware/id/request.id.middleware.js.map +1 -0
- package/src/middleware/request.middleware.module.d.ts +4 -0
- package/src/middleware/request.middleware.module.js +25 -0
- package/src/middleware/request.middleware.module.js.map +1 -0
- package/src/middleware/timestamp/request.timestamp.middleware.d.ts +9 -0
- package/src/middleware/timestamp/request.timestamp.middleware.js +23 -0
- package/src/middleware/timestamp/request.timestamp.middleware.js.map +1 -0
- package/src/middleware/timezone/request.timezone.middleware.d.ts +6 -0
- package/src/middleware/timezone/request.timezone.middleware.js +16 -0
- package/src/middleware/timezone/request.timezone.middleware.js.map +1 -0
- package/src/middleware/user-agent/request.user-agent.middleware.d.ts +6 -0
- package/src/middleware/user-agent/request.user-agent.middleware.js +19 -0
- package/src/middleware/user-agent/request.user-agent.middleware.js.map +1 -0
- package/src/middleware/version/request.version.middleware.d.ts +14 -0
- package/src/middleware/version/request.version.middleware.js +35 -0
- package/src/middleware/version/request.version.middleware.js.map +1 -0
- package/src/request.module.d.ts +6 -0
- package/src/request.module.js +128 -0
- package/src/request.module.js.map +1 -0
- package/src/request.module.options.d.ts +63 -0
- package/src/request.module.options.js +5 -0
- package/src/request.module.options.js.map +1 -0
- package/src/serializations/index.d.ts +1 -0
- package/src/serializations/index.js +5 -0
- package/src/serializations/index.js.map +1 -0
- package/src/serializations/request.pagination.serialization.d.ts +15 -0
- package/src/serializations/request.pagination.serialization.js +12 -0
- package/src/serializations/request.pagination.serialization.js.map +1 -0
- package/src/validations/index.d.ts +13 -0
- package/src/validations/index.js +17 -0
- package/src/validations/index.js.map +1 -0
- package/src/validations/request.is-password-medium.validation.d.ts +8 -0
- package/src/validations/request.is-password-medium.validation.js +36 -0
- package/src/validations/request.is-password-medium.validation.js.map +1 -0
- package/src/validations/request.is-password-strong.validation.d.ts +9 -0
- package/src/validations/request.is-password-strong.validation.js +41 -0
- package/src/validations/request.is-password-strong.validation.js.map +1 -0
- package/src/validations/request.is-password-weak.validation.d.ts +8 -0
- package/src/validations/request.is-password-weak.validation.js +36 -0
- package/src/validations/request.is-password-weak.validation.js.map +1 -0
- package/src/validations/request.is-start-with.validation.d.ts +5 -0
- package/src/validations/request.is-start-with.validation.js +32 -0
- package/src/validations/request.is-start-with.validation.js.map +1 -0
- package/src/validations/request.max-binary-file.validation.d.ts +9 -0
- package/src/validations/request.max-binary-file.validation.js +55 -0
- package/src/validations/request.max-binary-file.validation.js.map +1 -0
- package/src/validations/request.max-date-today.validation.d.ts +8 -0
- package/src/validations/request.max-date-today.validation.js +37 -0
- package/src/validations/request.max-date-today.validation.js.map +1 -0
- package/src/validations/request.max-greater-than-equal.validation.d.ts +5 -0
- package/src/validations/request.max-greater-than-equal.validation.js +32 -0
- package/src/validations/request.max-greater-than-equal.validation.js.map +1 -0
- package/src/validations/request.max-greater-than.validation.d.ts +5 -0
- package/src/validations/request.max-greater-than.validation.js +32 -0
- package/src/validations/request.max-greater-than.validation.js.map +1 -0
- package/src/validations/request.min-date-today.validation.d.ts +8 -0
- package/src/validations/request.min-date-today.validation.js +37 -0
- package/src/validations/request.min-date-today.validation.js.map +1 -0
- package/src/validations/request.min-greater-than-equal.validation.d.ts +5 -0
- package/src/validations/request.min-greater-than-equal.validation.js +32 -0
- package/src/validations/request.min-greater-than-equal.validation.js.map +1 -0
- package/src/validations/request.min-greater-than.validation.d.ts +5 -0
- package/src/validations/request.min-greater-than.validation.js +32 -0
- package/src/validations/request.min-greater-than.validation.js.map +1 -0
- package/src/validations/request.only-digits.validation.d.ts +8 -0
- package/src/validations/request.only-digits.validation.js +35 -0
- package/src/validations/request.only-digits.validation.js.map +1 -0
- package/src/validations/request.safe-string.validation.d.ts +8 -0
- package/src/validations/request.safe-string.validation.js +34 -0
- package/src/validations/request.safe-string.validation.js.map +1 -0
- package/src/validations/request.skip.validation.d.ts +5 -0
- package/src/validations/request.skip.validation.js +28 -0
- package/src/validations/request.skip.validation.js.map +1 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestTextBodyParserMiddleware = exports.RequestRawBodyParserMiddleware = exports.RequestJsonBodyParserMiddleware = exports.RequestUrlencodedBodyParserMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const body_parser_1 = tslib_1.__importDefault(require("body-parser"));
|
|
7
|
+
const request_module_options_1 = require("../../request.module.options");
|
|
8
|
+
let RequestUrlencodedBodyParserMiddleware = class RequestUrlencodedBodyParserMiddleware {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.options = options;
|
|
11
|
+
this.maxFile = this.options.body.urlencoded.maxFileSize;
|
|
12
|
+
}
|
|
13
|
+
use(req, res, next) {
|
|
14
|
+
body_parser_1.default.urlencoded({
|
|
15
|
+
extended: false,
|
|
16
|
+
limit: this.maxFile,
|
|
17
|
+
})(req, res, next);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports.RequestUrlencodedBodyParserMiddleware = RequestUrlencodedBodyParserMiddleware;
|
|
21
|
+
exports.RequestUrlencodedBodyParserMiddleware = RequestUrlencodedBodyParserMiddleware = tslib_1.__decorate([
|
|
22
|
+
(0, common_1.Injectable)(),
|
|
23
|
+
tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
|
|
24
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
25
|
+
], RequestUrlencodedBodyParserMiddleware);
|
|
26
|
+
let RequestJsonBodyParserMiddleware = class RequestJsonBodyParserMiddleware {
|
|
27
|
+
constructor(options) {
|
|
28
|
+
this.options = options;
|
|
29
|
+
this.maxFile = this.options.body.json.maxFileSize;
|
|
30
|
+
}
|
|
31
|
+
use(req, res, next) {
|
|
32
|
+
body_parser_1.default.json({
|
|
33
|
+
limit: this.maxFile,
|
|
34
|
+
})(req, res, next);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.RequestJsonBodyParserMiddleware = RequestJsonBodyParserMiddleware;
|
|
38
|
+
exports.RequestJsonBodyParserMiddleware = RequestJsonBodyParserMiddleware = tslib_1.__decorate([
|
|
39
|
+
(0, common_1.Injectable)(),
|
|
40
|
+
tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
|
|
41
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
42
|
+
], RequestJsonBodyParserMiddleware);
|
|
43
|
+
let RequestRawBodyParserMiddleware = class RequestRawBodyParserMiddleware {
|
|
44
|
+
constructor(options) {
|
|
45
|
+
this.options = options;
|
|
46
|
+
this.maxFile = this.options.body.raw.maxFileSize;
|
|
47
|
+
}
|
|
48
|
+
use(req, res, next) {
|
|
49
|
+
body_parser_1.default.raw({
|
|
50
|
+
limit: this.maxFile,
|
|
51
|
+
})(req, res, next);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.RequestRawBodyParserMiddleware = RequestRawBodyParserMiddleware;
|
|
55
|
+
exports.RequestRawBodyParserMiddleware = RequestRawBodyParserMiddleware = tslib_1.__decorate([
|
|
56
|
+
(0, common_1.Injectable)(),
|
|
57
|
+
tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
|
|
58
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
59
|
+
], RequestRawBodyParserMiddleware);
|
|
60
|
+
let RequestTextBodyParserMiddleware = class RequestTextBodyParserMiddleware {
|
|
61
|
+
constructor(options) {
|
|
62
|
+
this.options = options;
|
|
63
|
+
this.maxFile = this.options.body.text.maxFileSize;
|
|
64
|
+
}
|
|
65
|
+
use(req, res, next) {
|
|
66
|
+
body_parser_1.default.text({
|
|
67
|
+
limit: this.maxFile,
|
|
68
|
+
})(req, res, next);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
exports.RequestTextBodyParserMiddleware = RequestTextBodyParserMiddleware;
|
|
72
|
+
exports.RequestTextBodyParserMiddleware = RequestTextBodyParserMiddleware = tslib_1.__decorate([
|
|
73
|
+
(0, common_1.Injectable)(),
|
|
74
|
+
tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
|
|
75
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
76
|
+
], RequestTextBodyParserMiddleware);
|
|
77
|
+
//# sourceMappingURL=request.body-parser.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.body-parser.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/body-parser/request.body-parser.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAAoE;AAEpE,sEAAqC;AACrC,yEAGsC;AAG/B,IAAM,qCAAqC,GAA3C,MAAM,qCAAqC;IAGhD,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IAC1D,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,UAAU,CAAC;YACpB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAhBY,sFAAqC;gDAArC,qCAAqC;IADjD,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,qCAAqC,CAgBjD;AAGM,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAG1C,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAfY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,+BAA+B,CAe3C;AAGM,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGzC,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,GAAG,CAAC;YACb,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAfY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,8BAA8B,CAe1C;AAGM,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAG1C,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,qBAAU,CAAC,IAAI,CAAC;YACd,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AAfY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IAKR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAJtB,+BAA+B,CAe3C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
2
|
+
import { Request, Response, NextFunction } from 'express';
|
|
3
|
+
import { RequestModuleOptions } from '../../request.module.options';
|
|
4
|
+
export declare class RequestCorsMiddleware implements NestMiddleware {
|
|
5
|
+
private readonly options;
|
|
6
|
+
private readonly allowOrigin;
|
|
7
|
+
private readonly allowMethod;
|
|
8
|
+
private readonly allowHeader;
|
|
9
|
+
private readonly production;
|
|
10
|
+
constructor(options: RequestModuleOptions);
|
|
11
|
+
use(req: Request, res: Response, next: NextFunction): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestCorsMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const cors_1 = tslib_1.__importDefault(require("cors"));
|
|
7
|
+
const request_module_options_1 = require("../../request.module.options");
|
|
8
|
+
let RequestCorsMiddleware = class RequestCorsMiddleware {
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.options = options;
|
|
11
|
+
this.production = this.options.production;
|
|
12
|
+
this.allowOrigin = this.options.cors.allowOrigin;
|
|
13
|
+
this.allowMethod = this.options.cors.allowMethod;
|
|
14
|
+
this.allowHeader = this.options.cors.allowHeader;
|
|
15
|
+
}
|
|
16
|
+
use(req, res, next) {
|
|
17
|
+
const allowOrigin = this.production ? this.allowOrigin : '*';
|
|
18
|
+
const corsOptions = {
|
|
19
|
+
origin: allowOrigin,
|
|
20
|
+
methods: this.allowMethod,
|
|
21
|
+
allowedHeaders: this.allowHeader,
|
|
22
|
+
preflightContinue: false,
|
|
23
|
+
credentials: true,
|
|
24
|
+
optionsSuccessStatus: common_1.HttpStatus.NO_CONTENT,
|
|
25
|
+
};
|
|
26
|
+
(0, cors_1.default)(corsOptions)(req, res, next);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.RequestCorsMiddleware = RequestCorsMiddleware;
|
|
30
|
+
exports.RequestCorsMiddleware = RequestCorsMiddleware = tslib_1.__decorate([
|
|
31
|
+
(0, common_1.Injectable)(),
|
|
32
|
+
tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
|
|
33
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
34
|
+
], RequestCorsMiddleware);
|
|
35
|
+
//# sourceMappingURL=request.cors.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.cors.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/cors/request.cors.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAAgF;AAEhF,wDAAwB;AAExB,yEAGsC;AAG/B,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAMhC,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;QAE7D,MAAM,WAAW,GAAgB;YAC/B,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,mBAAU,CAAC,UAAU;SAC5C,CAAC;QAEF,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AA9BY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAQR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAPtB,qBAAqB,CA8BjC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestHelmetMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const helmet_1 = tslib_1.__importDefault(require("helmet"));
|
|
7
|
+
let RequestHelmetMiddleware = class RequestHelmetMiddleware {
|
|
8
|
+
use(req, res, next) {
|
|
9
|
+
(0, helmet_1.default)()(req, res, next);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
exports.RequestHelmetMiddleware = RequestHelmetMiddleware;
|
|
13
|
+
exports.RequestHelmetMiddleware = RequestHelmetMiddleware = tslib_1.__decorate([
|
|
14
|
+
(0, common_1.Injectable)()
|
|
15
|
+
], RequestHelmetMiddleware);
|
|
16
|
+
//# sourceMappingURL=request.helmet.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.helmet.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/helmet/request.helmet.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAE5D,4DAA4B;AAGrB,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;QACjD,IAAA,gBAAM,GAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AAJY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;GACA,uBAAuB,CAInC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
2
|
+
import { Response, NextFunction } from 'express';
|
|
3
|
+
import { IRequestApp } from '../../interfaces';
|
|
4
|
+
export declare class RequestIdMiddleware implements NestMiddleware {
|
|
5
|
+
use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestIdMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const uuid_1 = require("uuid");
|
|
7
|
+
let RequestIdMiddleware = class RequestIdMiddleware {
|
|
8
|
+
async use(req, res, next) {
|
|
9
|
+
const uuid = (0, uuid_1.v4)();
|
|
10
|
+
req.__id = uuid;
|
|
11
|
+
next();
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.RequestIdMiddleware = RequestIdMiddleware;
|
|
15
|
+
exports.RequestIdMiddleware = RequestIdMiddleware = tslib_1.__decorate([
|
|
16
|
+
(0, common_1.Injectable)()
|
|
17
|
+
], RequestIdMiddleware);
|
|
18
|
+
//# sourceMappingURL=request.id.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.id.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/id/request.id.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAE5D,+BAAoC;AAI7B,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,IAAI,GAAW,IAAA,SAAM,GAAE,CAAC;QAE9B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAXY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;GACA,mBAAmB,CAW/B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestMiddlewareModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const request_body_parser_middleware_1 = require("./body-parser/request.body-parser.middleware");
|
|
7
|
+
const request_cors_middleware_1 = require("./cors/request.cors.middleware");
|
|
8
|
+
const request_helmet_middleware_1 = require("./helmet/request.helmet.middleware");
|
|
9
|
+
const request_id_middleware_1 = require("./id/request.id.middleware");
|
|
10
|
+
const request_timestamp_middleware_1 = require("./timestamp/request.timestamp.middleware");
|
|
11
|
+
const request_timezone_middleware_1 = require("./timezone/request.timezone.middleware");
|
|
12
|
+
const request_user_agent_middleware_1 = require("./user-agent/request.user-agent.middleware");
|
|
13
|
+
const request_version_middleware_1 = require("./version/request.version.middleware");
|
|
14
|
+
let RequestMiddlewareModule = class RequestMiddlewareModule {
|
|
15
|
+
configure(consumer) {
|
|
16
|
+
consumer
|
|
17
|
+
.apply(request_helmet_middleware_1.RequestHelmetMiddleware, request_id_middleware_1.RequestIdMiddleware, request_body_parser_middleware_1.RequestJsonBodyParserMiddleware, request_body_parser_middleware_1.RequestTextBodyParserMiddleware, request_body_parser_middleware_1.RequestRawBodyParserMiddleware, request_body_parser_middleware_1.RequestUrlencodedBodyParserMiddleware, request_cors_middleware_1.RequestCorsMiddleware, request_version_middleware_1.RequestVersionMiddleware, request_user_agent_middleware_1.RequestUserAgentMiddleware, request_timestamp_middleware_1.RequestTimestampMiddleware, request_timezone_middleware_1.RequestTimezoneMiddleware)
|
|
18
|
+
.forRoutes('*');
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
exports.RequestMiddlewareModule = RequestMiddlewareModule;
|
|
22
|
+
exports.RequestMiddlewareModule = RequestMiddlewareModule = tslib_1.__decorate([
|
|
23
|
+
(0, common_1.Module)({ imports: [] })
|
|
24
|
+
], RequestMiddlewareModule);
|
|
25
|
+
//# sourceMappingURL=request.middleware.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.middleware.module.js","sourceRoot":"","sources":["../../../../../packages/request/src/middleware/request.middleware.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwE;AACxE,iGAKsD;AACtD,4EAAuE;AACvE,kFAA6E;AAC7E,sEAAiE;AACjE,2FAAsF;AACtF,wFAAmF;AACnF,8FAAwF;AACxF,qFAAgF;AAGzE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,SAAS,CAAC,QAA4B;QACpC,QAAQ;aACL,KAAK,CACJ,mDAAuB,EACvB,2CAAmB,EACnB,gEAA+B,EAC/B,gEAA+B,EAC/B,+DAA8B,EAC9B,sEAAqC,EACrC,+CAAqB,EACrB,qDAAwB,EACxB,0DAA0B,EAC1B,yDAA0B,EAC1B,uDAAyB,CAC1B;aACA,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;CACF,CAAA;AAlBY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,eAAM,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;GACX,uBAAuB,CAkBnC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DateService } from '@tc-libs/helper';
|
|
2
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
3
|
+
import { Response, NextFunction } from 'express';
|
|
4
|
+
import { IRequestApp } from '../../interfaces';
|
|
5
|
+
export declare class RequestTimestampMiddleware implements NestMiddleware {
|
|
6
|
+
private readonly helperDateService;
|
|
7
|
+
constructor(helperDateService: DateService);
|
|
8
|
+
use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestTimestampMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const helper_1 = require("@tc-libs/helper");
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
let RequestTimestampMiddleware = class RequestTimestampMiddleware {
|
|
8
|
+
constructor(helperDateService) {
|
|
9
|
+
this.helperDateService = helperDateService;
|
|
10
|
+
}
|
|
11
|
+
async use(req, res, next) {
|
|
12
|
+
const xTimestamp = req['x-timestamp'];
|
|
13
|
+
req.__xTimestamp = xTimestamp ? Number(xTimestamp) : undefined;
|
|
14
|
+
req.__timestamp = this.helperDateService.timestamp();
|
|
15
|
+
next();
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.RequestTimestampMiddleware = RequestTimestampMiddleware;
|
|
19
|
+
exports.RequestTimestampMiddleware = RequestTimestampMiddleware = tslib_1.__decorate([
|
|
20
|
+
(0, common_1.Injectable)(),
|
|
21
|
+
tslib_1.__metadata("design:paramtypes", [helper_1.DateService])
|
|
22
|
+
], RequestTimestampMiddleware);
|
|
23
|
+
//# sourceMappingURL=request.timestamp.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.timestamp.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/timestamp/request.timestamp.middleware.ts"],"names":[],"mappings":";;;;AAAA,4CAA8C;AAC9C,2CAA4D;AAKrD,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,YAA6B,iBAA8B;QAA9B,sBAAiB,GAAjB,iBAAiB,CAAa;IAAG,CAAC;IAE/D,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,UAAU,GAAI,GAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QACrD,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAbY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;6CAEqC,oBAAW;GADhD,0BAA0B,CAatC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
2
|
+
import { Response, NextFunction } from 'express';
|
|
3
|
+
import { IRequestApp } from '../../interfaces';
|
|
4
|
+
export declare class RequestTimezoneMiddleware implements NestMiddleware {
|
|
5
|
+
use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestTimezoneMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
let RequestTimezoneMiddleware = class RequestTimezoneMiddleware {
|
|
7
|
+
async use(req, res, next) {
|
|
8
|
+
req.__timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
9
|
+
next();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
exports.RequestTimezoneMiddleware = RequestTimezoneMiddleware;
|
|
13
|
+
exports.RequestTimezoneMiddleware = RequestTimezoneMiddleware = tslib_1.__decorate([
|
|
14
|
+
(0, common_1.Injectable)()
|
|
15
|
+
], RequestTimezoneMiddleware);
|
|
16
|
+
//# sourceMappingURL=request.timezone.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.timezone.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/timezone/request.timezone.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAKrD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAClE,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AATY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CASrC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
2
|
+
import { Response, NextFunction } from 'express';
|
|
3
|
+
import { IRequestApp } from '../../interfaces';
|
|
4
|
+
export declare class RequestUserAgentMiddleware implements NestMiddleware {
|
|
5
|
+
use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestUserAgentMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const ua_parser_js_1 = require("ua-parser-js");
|
|
7
|
+
let RequestUserAgentMiddleware = class RequestUserAgentMiddleware {
|
|
8
|
+
async use(req, res, next) {
|
|
9
|
+
const parserUserAgent = new ua_parser_js_1.UAParser(req['User-Agent']);
|
|
10
|
+
const userAgent = parserUserAgent.getResult();
|
|
11
|
+
req.__userAgent = userAgent;
|
|
12
|
+
next();
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
exports.RequestUserAgentMiddleware = RequestUserAgentMiddleware;
|
|
16
|
+
exports.RequestUserAgentMiddleware = RequestUserAgentMiddleware = tslib_1.__decorate([
|
|
17
|
+
(0, common_1.Injectable)()
|
|
18
|
+
], RequestUserAgentMiddleware);
|
|
19
|
+
//# sourceMappingURL=request.user-agent.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.user-agent.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/user-agent/request.user-agent.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAE5D,+CAAiD;AAI1C,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACrC,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,eAAe,GAAG,IAAI,uBAAQ,CAAE,GAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAY,eAAe,CAAC,SAAS,EAAE,CAAC;QAEvD,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAZY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,mBAAU,GAAE;GACA,0BAA0B,CAYtC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
2
|
+
import { Response, NextFunction } from 'express';
|
|
3
|
+
import { IRequestApp } from '../../interfaces';
|
|
4
|
+
import { RequestModuleOptions } from '../../request.module.options';
|
|
5
|
+
export declare class RequestVersionMiddleware implements NestMiddleware {
|
|
6
|
+
private readonly options;
|
|
7
|
+
private readonly versioningEnable;
|
|
8
|
+
private readonly versioningGlobalPrefix;
|
|
9
|
+
private readonly versioningPrefix;
|
|
10
|
+
private readonly versioningVersion;
|
|
11
|
+
private readonly repoVersion;
|
|
12
|
+
constructor(options: RequestModuleOptions);
|
|
13
|
+
use(req: IRequestApp, res: Response, next: NextFunction): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestVersionMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const request_module_options_1 = require("../../request.module.options");
|
|
7
|
+
let RequestVersionMiddleware = class RequestVersionMiddleware {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.options = options;
|
|
10
|
+
this.versioningGlobalPrefix = this.options.app.globalPrefix;
|
|
11
|
+
this.versioningEnable = this.options.app.versioning.enable;
|
|
12
|
+
this.versioningPrefix = this.options.app.versioning.prefix;
|
|
13
|
+
this.versioningVersion = this.options.app.versioning.version;
|
|
14
|
+
this.repoVersion = this.options.app.repoVersion;
|
|
15
|
+
}
|
|
16
|
+
async use(req, res, next) {
|
|
17
|
+
const originalUrl = req.originalUrl;
|
|
18
|
+
let version = this.versioningVersion;
|
|
19
|
+
if (this.versioningEnable &&
|
|
20
|
+
originalUrl.startsWith(`${this.versioningGlobalPrefix}/${this.versioningPrefix}`)) {
|
|
21
|
+
const url = originalUrl.split('/');
|
|
22
|
+
version = url[2].replace(this.versioningPrefix, '');
|
|
23
|
+
}
|
|
24
|
+
req.__version = version;
|
|
25
|
+
req.__repoVersion = this.repoVersion;
|
|
26
|
+
next();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.RequestVersionMiddleware = RequestVersionMiddleware;
|
|
30
|
+
exports.RequestVersionMiddleware = RequestVersionMiddleware = tslib_1.__decorate([
|
|
31
|
+
(0, common_1.Injectable)(),
|
|
32
|
+
tslib_1.__param(0, (0, common_1.Inject)(request_module_options_1.REQUEST_MODULE_OPTIONS)),
|
|
33
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
34
|
+
], RequestVersionMiddleware);
|
|
35
|
+
//# sourceMappingURL=request.version.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.version.middleware.js","sourceRoot":"","sources":["../../../../../../packages/request/src/middleware/version/request.version.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAAoE;AAGpE,yEAGsC;AAG/B,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IASnC,YAEmB,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAE9C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAgB,EAChB,GAAa,EACb,IAAkB;QAElB,MAAM,WAAW,GAAW,GAAG,CAAC,WAAW,CAAC;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACrC,IACE,IAAI,CAAC,gBAAgB;YACrB,WAAW,CAAC,UAAU,CACpB,GAAG,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAC1D,EACD,CAAC;YACD,MAAM,GAAG,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;QAErC,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AA1CY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAWR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;;GAVtB,wBAAwB,CA0CpC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DynamicModule } from '@nestjs/common';
|
|
2
|
+
import RequestModuleAsyncOptions, { RequestModuleOptions } from './request.module.options';
|
|
3
|
+
export declare class RequestModule {
|
|
4
|
+
static register(options: RequestModuleOptions, isGlobal?: boolean): DynamicModule;
|
|
5
|
+
static registerAsync(options: RequestModuleAsyncOptions, isGlobal?: boolean): DynamicModule;
|
|
6
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestModule = void 0;
|
|
4
|
+
const errors_1 = require("@tc-libs/errors");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const core_1 = require("@nestjs/core");
|
|
7
|
+
const throttler_1 = require("@nestjs/throttler");
|
|
8
|
+
const interceptors_1 = require("./interceptors");
|
|
9
|
+
const request_middleware_module_1 = require("./middleware/request.middleware.module");
|
|
10
|
+
const validations_1 = require("./validations");
|
|
11
|
+
const request_is_password_medium_validation_1 = require("./validations/request.is-password-medium.validation");
|
|
12
|
+
const request_is_password_strong_validation_1 = require("./validations/request.is-password-strong.validation");
|
|
13
|
+
const request_is_password_weak_validation_1 = require("./validations/request.is-password-weak.validation");
|
|
14
|
+
const request_is_start_with_validation_1 = require("./validations/request.is-start-with.validation");
|
|
15
|
+
const request_max_greater_than_equal_validation_1 = require("./validations/request.max-greater-than-equal.validation");
|
|
16
|
+
const request_max_greater_than_validation_1 = require("./validations/request.max-greater-than.validation");
|
|
17
|
+
const request_min_greater_than_equal_validation_1 = require("./validations/request.min-greater-than-equal.validation");
|
|
18
|
+
const request_min_greater_than_validation_1 = require("./validations/request.min-greater-than.validation");
|
|
19
|
+
const request_only_digits_validation_1 = require("./validations/request.only-digits.validation");
|
|
20
|
+
const request_safe_string_validation_1 = require("./validations/request.safe-string.validation");
|
|
21
|
+
const request_skip_validation_1 = require("./validations/request.skip.validation");
|
|
22
|
+
const request_module_options_1 = require("./request.module.options");
|
|
23
|
+
const providers = [
|
|
24
|
+
request_is_password_strong_validation_1.IsPasswordStrongConstraint,
|
|
25
|
+
request_is_password_medium_validation_1.IsPasswordMediumConstraint,
|
|
26
|
+
request_is_password_weak_validation_1.IsPasswordWeakConstraint,
|
|
27
|
+
request_is_start_with_validation_1.IsStartWithConstraint,
|
|
28
|
+
request_max_greater_than_equal_validation_1.MaxGreaterThanEqualConstraint,
|
|
29
|
+
request_max_greater_than_validation_1.MaxGreaterThanConstraint,
|
|
30
|
+
request_min_greater_than_equal_validation_1.MinGreaterThanEqualConstraint,
|
|
31
|
+
request_min_greater_than_validation_1.MinGreaterThanConstraint,
|
|
32
|
+
request_skip_validation_1.SkipConstraint,
|
|
33
|
+
request_safe_string_validation_1.SafeStringConstraint,
|
|
34
|
+
request_only_digits_validation_1.IsOnlyDigitsConstraint,
|
|
35
|
+
validations_1.MinDateTodayConstraint,
|
|
36
|
+
validations_1.MaxDateTodayConstraint,
|
|
37
|
+
validations_1.MaxBinaryFileConstraint,
|
|
38
|
+
];
|
|
39
|
+
class RequestModule {
|
|
40
|
+
static register(options, isGlobal) {
|
|
41
|
+
return {
|
|
42
|
+
module: RequestModule,
|
|
43
|
+
providers: [
|
|
44
|
+
{ provide: request_module_options_1.REQUEST_MODULE_OPTIONS, useValue: options },
|
|
45
|
+
{
|
|
46
|
+
provide: core_1.APP_INTERCEPTOR,
|
|
47
|
+
useClass: interceptors_1.RequestTimeoutInterceptor,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
provide: core_1.APP_PIPE,
|
|
51
|
+
useFactory: () => new common_1.ValidationPipe({
|
|
52
|
+
transform: true,
|
|
53
|
+
skipNullProperties: false,
|
|
54
|
+
skipUndefinedProperties: false,
|
|
55
|
+
skipMissingProperties: false,
|
|
56
|
+
forbidUnknownValues: false,
|
|
57
|
+
errorHttpStatusCode: common_1.HttpStatus.UNPROCESSABLE_ENTITY,
|
|
58
|
+
exceptionFactory: async (errors) => new errors_1.Api422ValidationError(errors),
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
provide: core_1.APP_GUARD,
|
|
63
|
+
useClass: throttler_1.ThrottlerGuard,
|
|
64
|
+
},
|
|
65
|
+
...providers,
|
|
66
|
+
],
|
|
67
|
+
imports: [
|
|
68
|
+
request_middleware_module_1.RequestMiddlewareModule,
|
|
69
|
+
throttler_1.ThrottlerModule.forRoot([
|
|
70
|
+
{
|
|
71
|
+
ttl: options.throttle.ttl,
|
|
72
|
+
limit: options.throttle.limit,
|
|
73
|
+
},
|
|
74
|
+
]),
|
|
75
|
+
],
|
|
76
|
+
global: isGlobal,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
static registerAsync(options, isGlobal) {
|
|
80
|
+
return {
|
|
81
|
+
module: RequestModule,
|
|
82
|
+
imports: [
|
|
83
|
+
...(options.imports || []),
|
|
84
|
+
request_middleware_module_1.RequestMiddlewareModule,
|
|
85
|
+
throttler_1.ThrottlerModule.forRootAsync({
|
|
86
|
+
imports: options.imports,
|
|
87
|
+
useFactory: async (...args) => {
|
|
88
|
+
const requestOptions = await options.useFactory(...args);
|
|
89
|
+
return [
|
|
90
|
+
{
|
|
91
|
+
ttl: requestOptions.throttle.ttl,
|
|
92
|
+
limit: requestOptions.throttle.limit,
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
},
|
|
96
|
+
inject: options.inject,
|
|
97
|
+
}),
|
|
98
|
+
],
|
|
99
|
+
providers: [
|
|
100
|
+
{ provide: request_module_options_1.REQUEST_MODULE_OPTIONS, useValue: options },
|
|
101
|
+
{
|
|
102
|
+
provide: core_1.APP_INTERCEPTOR,
|
|
103
|
+
useClass: interceptors_1.RequestTimeoutInterceptor,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
provide: core_1.APP_PIPE,
|
|
107
|
+
useFactory: () => new common_1.ValidationPipe({
|
|
108
|
+
transform: true,
|
|
109
|
+
skipNullProperties: false,
|
|
110
|
+
skipUndefinedProperties: false,
|
|
111
|
+
skipMissingProperties: false,
|
|
112
|
+
forbidUnknownValues: false,
|
|
113
|
+
errorHttpStatusCode: common_1.HttpStatus.UNPROCESSABLE_ENTITY,
|
|
114
|
+
exceptionFactory: async (errors) => new errors_1.Api422ValidationError(errors),
|
|
115
|
+
}),
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
provide: core_1.APP_GUARD,
|
|
119
|
+
useClass: throttler_1.ThrottlerGuard,
|
|
120
|
+
},
|
|
121
|
+
...providers,
|
|
122
|
+
],
|
|
123
|
+
global: isGlobal,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.RequestModule = RequestModule;
|
|
128
|
+
//# sourceMappingURL=request.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.module.js","sourceRoot":"","sources":["../../../../packages/request/src/request.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ModuleMetadata } from '@nestjs/common';
|
|
2
|
+
import { FactoryProvider } from '@nestjs/common/interfaces/modules/provider.interface';
|
|
3
|
+
export declare const REQUEST_MODULE_OPTIONS = "REQUEST_MODULE_OPTIONS";
|
|
4
|
+
export interface RequestModuleOptions {
|
|
5
|
+
production: boolean;
|
|
6
|
+
timeout: number;
|
|
7
|
+
timestamp: {
|
|
8
|
+
toleranceTimeInMs: number;
|
|
9
|
+
};
|
|
10
|
+
userAgent: {
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
browser: string[];
|
|
13
|
+
os: string[];
|
|
14
|
+
};
|
|
15
|
+
throttle: {
|
|
16
|
+
ttl: number;
|
|
17
|
+
limit: number;
|
|
18
|
+
};
|
|
19
|
+
body: {
|
|
20
|
+
urlencoded: {
|
|
21
|
+
maxFileSize: number;
|
|
22
|
+
};
|
|
23
|
+
json: {
|
|
24
|
+
maxFileSize: number;
|
|
25
|
+
};
|
|
26
|
+
raw: {
|
|
27
|
+
maxFileSize: number;
|
|
28
|
+
};
|
|
29
|
+
text: {
|
|
30
|
+
maxFileSize: number;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
cors: {
|
|
34
|
+
allowOrigin: string | boolean | string[];
|
|
35
|
+
allowMethod: string[];
|
|
36
|
+
allowHeader: string[];
|
|
37
|
+
};
|
|
38
|
+
app: {
|
|
39
|
+
globalPrefix: string;
|
|
40
|
+
repoVersion: string;
|
|
41
|
+
versioning: {
|
|
42
|
+
enable: boolean;
|
|
43
|
+
prefix: string;
|
|
44
|
+
version: string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
file: {
|
|
48
|
+
audio: {
|
|
49
|
+
maxFileSize: number;
|
|
50
|
+
};
|
|
51
|
+
excel: {
|
|
52
|
+
maxFileSize: number;
|
|
53
|
+
};
|
|
54
|
+
image: {
|
|
55
|
+
maxFileSize: number;
|
|
56
|
+
};
|
|
57
|
+
video: {
|
|
58
|
+
maxFileSize: number;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
type RequestModuleAsyncOptions = Pick<ModuleMetadata, 'imports'> & Pick<FactoryProvider<RequestModuleOptions>, 'useFactory' | 'inject'>;
|
|
63
|
+
export default RequestModuleAsyncOptions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.module.options.js","sourceRoot":"","sources":["../../../../packages/request/src/request.module.options.ts"],"names":[],"mappings":";;;AAGa,QAAA,sBAAsB,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './request.pagination.serialization';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/serializations/index.ts"],"names":[],"mappings":";;;AAAA,6EAAmD"}
|