@tc-libs/request 1.28.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 CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@tc-libs/request",
3
- "version": "1.28.0",
3
+ "version": "1.29.0",
4
4
  "dependencies": {
5
- "@tc-libs/service": "1.28.0",
6
- "@tc-libs/errors": "1.28.0",
7
- "@tc-libs/helper": "1.28.0",
8
- "@tc-libs/pagination": "1.28.0",
9
- "@tc-libs/constant": "1.28.0"
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",
@@ -1,3 +1,4 @@
1
1
  export * from './request.decorator';
2
2
  export * from './cookie.decorator';
3
3
  export * from './entity.get.decorator';
4
+ export * from './skip-timeout.decorator';
@@ -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,2 @@
1
+ export declare const SKIP_TIMEOUT = "SKIP_TIMEOUT";
2
+ export declare const SkipRequestTimeout: () => import("@nestjs/common").CustomDecorator<string>;
@@ -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 maxTimeoutInSecond;
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.maxTimeoutInSecond = this.options.request.timeout;
18
+ this.maxTimeoutInMs = this.options.request.timeout;
18
19
  }
19
20
  async intercept(context, next) {
20
- if (context.getType() === 'http') {
21
- const customTimeout = this.reflector.get(constants_1.REQUEST_CUSTOM_TIMEOUT_META_KEY, context.getHandler());
22
- if (customTimeout) {
23
- const seconds = this.reflector.get(constants_1.REQUEST_CUSTOM_TIMEOUT_VALUE_META_KEY, context.getHandler());
24
- return next.handle().pipe((0, operators_1.timeout)((0, ms_1.default)(seconds)), (0, operators_1.catchError)((err) => {
25
- if (err instanceof rxjs_1.TimeoutError) {
26
- throw new errors_1.Api408RequestTimeoutError();
27
- }
28
- return (0, rxjs_1.throwError)(() => err);
29
- }));
30
- }
31
- else {
32
- return next.handle().pipe((0, operators_1.timeout)(this.maxTimeoutInSecond), (0, operators_1.catchError)((err) => {
33
- if (err instanceof rxjs_1.TimeoutError) {
34
- throw new errors_1.Api408RequestTimeoutError();
35
- }
36
- return (0, rxjs_1.throwError)(() => err);
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;AAG5B,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAKpC,YAEmB,OAA6B,EAC7B,SAAoB;QADpB,YAAO,GAAP,OAAO,CAAsB;QAC7B,cAAS,GAAT,SAAS,CAAW;QAErC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,IAAiB;QAEjB,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACtC,2CAA+B,EAC/B,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,iDAAqC,EACrC,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;gBAEF,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;oBACjB,IAAI,GAAG,YAAY,mBAAY,EAAE,CAAC;wBAChC,MAAM,IAAI,kCAAyB,EAAE,CAAC;oBACxC,CAAC;oBACD,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,mBAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,EAChC,IAAA,sBAAU,EAAC,CAAC,GAAG,EAAE,EAAE;oBACjB,IAAI,GAAG,YAAY,mBAAY,EAAE,CAAC;wBAChC,MAAM,IAAI,kCAAyB,EAAE,CAAC;oBACxC,CAAC;oBACD,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AArDY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAOR,mBAAA,IAAA,eAAM,EAAC,+CAAsB,CAAC,CAAA;qDAEH,gBAAS;GAR5B,yBAAyB,CAqDrC"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"request.module.js","sourceRoot":"","sources":["../../../../packages/request/src/request.module.ts"],"names":[],"mappings":"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"}