@tc-libs/request 1.27.0 → 1.29.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/package.json +6 -6
- package/src/decorators/index.d.ts +1 -0
- package/src/decorators/index.js +1 -0
- package/src/decorators/index.js.map +1 -1
- package/src/decorators/skip-timeout.decorator.d.ts +2 -0
- package/src/decorators/skip-timeout.decorator.js +9 -0
- package/src/decorators/skip-timeout.decorator.js.map +1 -0
- package/src/interceptors/request.timeout.interceptor.d.ts +1 -1
- package/src/interceptors/request.timeout.interceptor.js +29 -21
- package/src/interceptors/request.timeout.interceptor.js.map +1 -1
- package/src/request.module.js +1 -0
- package/src/request.module.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tc-libs/request",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.29.0",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@tc-libs/service": "1.
|
|
6
|
-
"@tc-libs/errors": "1.
|
|
7
|
-
"@tc-libs/helper": "1.
|
|
8
|
-
"@tc-libs/pagination": "1.
|
|
9
|
-
"@tc-libs/constant": "1.
|
|
5
|
+
"@tc-libs/service": "1.29.0",
|
|
6
|
+
"@tc-libs/errors": "1.29.0",
|
|
7
|
+
"@tc-libs/helper": "1.29.0",
|
|
8
|
+
"@tc-libs/pagination": "1.29.0",
|
|
9
|
+
"@tc-libs/constant": "1.29.0"
|
|
10
10
|
},
|
|
11
11
|
"type": "commonjs",
|
|
12
12
|
"main": "./src/index.js",
|
package/src/decorators/index.js
CHANGED
|
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./request.decorator"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./cookie.decorator"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./entity.get.decorator"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./skip-timeout.decorator"), exports);
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/decorators/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC;AACnC,iEAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/request/src/decorators/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC;AACnC,iEAAuC;AACvC,mEAAyC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkipRequestTimeout = exports.SKIP_TIMEOUT = void 0;
|
|
4
|
+
// skip-timeout.decorator.ts
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
exports.SKIP_TIMEOUT = 'SKIP_TIMEOUT';
|
|
7
|
+
const SkipRequestTimeout = () => (0, common_1.SetMetadata)(exports.SKIP_TIMEOUT, true);
|
|
8
|
+
exports.SkipRequestTimeout = SkipRequestTimeout;
|
|
9
|
+
//# sourceMappingURL=skip-timeout.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skip-timeout.decorator.js","sourceRoot":"","sources":["../../../../../packages/request/src/decorators/skip-timeout.decorator.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAC5B,2CAA6C;AAChC,QAAA,YAAY,GAAG,cAAc,CAAC;AACpC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAA,oBAAW,EAAC,oBAAY,EAAE,IAAI,CAAC,CAAC;AAA3D,QAAA,kBAAkB,sBAAyC"}
|
|
@@ -5,7 +5,7 @@ import { RequestModuleOptions } from '../request.module.options';
|
|
|
5
5
|
export declare class RequestTimeoutInterceptor implements NestInterceptor<Promise<any>> {
|
|
6
6
|
private readonly options;
|
|
7
7
|
private readonly reflector;
|
|
8
|
-
private readonly
|
|
8
|
+
private readonly maxTimeoutInMs;
|
|
9
9
|
constructor(options: RequestModuleOptions, reflector: Reflector);
|
|
10
10
|
intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<Promise<any> | string>>;
|
|
11
11
|
}
|
|
@@ -10,34 +10,42 @@ const ms_1 = tslib_1.__importDefault(require("ms"));
|
|
|
10
10
|
const constants_1 = require("../constants");
|
|
11
11
|
const errors_1 = require("@tc-libs/errors");
|
|
12
12
|
const request_module_options_1 = require("../request.module.options");
|
|
13
|
+
const decorators_1 = require("../decorators");
|
|
13
14
|
let RequestTimeoutInterceptor = class RequestTimeoutInterceptor {
|
|
14
15
|
constructor(options, reflector) {
|
|
15
16
|
this.options = options;
|
|
16
17
|
this.reflector = reflector;
|
|
17
|
-
this.
|
|
18
|
+
this.maxTimeoutInMs = this.options.request.timeout;
|
|
18
19
|
}
|
|
19
20
|
async intercept(context, next) {
|
|
20
|
-
if (context.getType()
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
21
|
+
if (context.getType() !== 'http')
|
|
22
|
+
return next.handle();
|
|
23
|
+
const customTimeout = this.reflector.get(constants_1.REQUEST_CUSTOM_TIMEOUT_META_KEY, context.getHandler());
|
|
24
|
+
const req = context.switchToHttp().getRequest();
|
|
25
|
+
const accept = String(req.headers?.accept ?? '');
|
|
26
|
+
const isSse = accept.includes('text/event-stream');
|
|
27
|
+
const skipTimeout = this.reflector.get(decorators_1.SKIP_TIMEOUT, context.getHandler());
|
|
28
|
+
// IMPORTANT: su SSE niente timeout
|
|
29
|
+
if (isSse || skipTimeout) {
|
|
30
|
+
return next.handle();
|
|
31
|
+
}
|
|
32
|
+
if (customTimeout) {
|
|
33
|
+
const seconds = this.reflector.get(constants_1.REQUEST_CUSTOM_TIMEOUT_VALUE_META_KEY, context.getHandler());
|
|
34
|
+
return next.handle().pipe((0, operators_1.timeout)((0, ms_1.default)(seconds)), (0, operators_1.catchError)((err) => {
|
|
35
|
+
if (err instanceof rxjs_1.TimeoutError) {
|
|
36
|
+
throw new errors_1.Api408RequestTimeoutError();
|
|
37
|
+
}
|
|
38
|
+
return (0, rxjs_1.throwError)(() => err);
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return next.handle().pipe((0, operators_1.timeout)(this.maxTimeoutInMs), (0, operators_1.catchError)((err) => {
|
|
43
|
+
if (err instanceof rxjs_1.TimeoutError) {
|
|
44
|
+
throw new errors_1.Api408RequestTimeoutError();
|
|
45
|
+
}
|
|
46
|
+
return (0, rxjs_1.throwError)(() => err);
|
|
47
|
+
}));
|
|
39
48
|
}
|
|
40
|
-
return next.handle();
|
|
41
49
|
}
|
|
42
50
|
};
|
|
43
51
|
exports.RequestTimeoutInterceptor = RequestTimeoutInterceptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.timeout.interceptor.js","sourceRoot":"","sources":["../../../../../packages/request/src/interceptors/request.timeout.interceptor.ts"],"names":[],"mappings":";;;;AAAA,2CAMwB;AACxB,uCAAyC;AACzC,+BAA4D;AAC5D,8CAAqD;AACrD,oDAAqC;AACrC,4CAGsB;AACtB,4CAA4D;AAC5D,sEAGmC;
|
|
1
|
+
{"version":3,"file":"request.timeout.interceptor.js","sourceRoot":"","sources":["../../../../../packages/request/src/interceptors/request.timeout.interceptor.ts"],"names":[],"mappings":";;;;AAAA,2CAMwB;AACxB,uCAAyC;AACzC,+BAA4D;AAC5D,8CAAqD;AACrD,oDAAqC;AACrC,4CAGsB;AACtB,4CAA4D;AAC5D,sEAGmC;AACnC,8CAA6C;AAGtC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAKpC,YAEmB,OAA6B,EAC7B,SAAoB;QADpB,YAAO,GAAP,OAAO,CAAsB;QAC7B,cAAS,GAAT,SAAS,CAAW;QAErC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;QAEjB,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,2CAA+B,EAC/B,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;QAEF,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACpC,yBAAY,EACZ,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;QAEF,mCAAmC;QACnC,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,OAAO,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,iDAAqC,EACrC,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;YAEF,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,mBAAO,EAAC,IAAA,YAAE,EAAC,OAAsB,CAAC,CAAC,EACnC,IAAA,sBAAU,EAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,GAAG,YAAY,mBAAY,EAAE,CAAC;oBAChC,MAAM,IAAI,kCAAyB,EAAE,CAAC;gBACxC,CAAC;gBACD,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,mBAAO,EAAC,IAAI,CAAC,cAAc,CAAC,EAC5B,IAAA,sBAAU,EAAC,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,GAAG,YAAY,mBAAY,EAAE,CAAC;oBAChC,MAAM,IAAI,kCAAyB,EAAE,CAAC;gBACxC,CAAC;gBACD,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAhEY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAOR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;qDAEH,gBAAS;GAR5B,yBAAyB,CAgErC"}
|
package/src/request.module.js
CHANGED
|
@@ -137,6 +137,7 @@ let RequestModule = RequestModule_1 = class RequestModule {
|
|
|
137
137
|
configure(consumer) {
|
|
138
138
|
consumer
|
|
139
139
|
.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)
|
|
140
|
+
.exclude({ path: 'api/sse', method: common_1.RequestMethod.GET })
|
|
140
141
|
.forRoutes('*');
|
|
141
142
|
}
|
|
142
143
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.module.js","sourceRoot":"","sources":["../../../../packages/request/src/request.module.ts"],"names":[],"mappings":";;;;;AAAA,4CAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"request.module.js","sourceRoot":"","sources":["../../../../packages/request/src/request.module.ts"],"names":[],"mappings":"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"}
|