@rsdk/core 5.7.0-next.2 → 6.0.0-next.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.
Files changed (261) hide show
  1. package/dist/config/index.d.ts +0 -1
  2. package/dist/config/index.js +0 -1
  3. package/dist/config/index.js.map +1 -1
  4. package/dist/config/metadata/decorators/declare-property.decorator.d.ts +2 -1
  5. package/dist/config/metadata/decorators/declare-property.decorator.js.map +1 -1
  6. package/dist/config/metadata/decorators/property.decorator.d.ts +2 -1
  7. package/dist/config/metadata/decorators/property.decorator.js.map +1 -1
  8. package/dist/config/sources/implementations/json-file.source.js +1 -2
  9. package/dist/config/sources/implementations/json-file.source.js.map +1 -1
  10. package/dist/config/sources/implementations/relodable-json-file.source.js +1 -2
  11. package/dist/config/sources/implementations/relodable-json-file.source.js.map +1 -1
  12. package/dist/config/types.d.ts +1 -20
  13. package/dist/config/types.js.map +1 -1
  14. package/dist/exceptions.handling/default.formatter.d.ts +6 -0
  15. package/dist/exceptions.handling/default.formatter.js +12 -0
  16. package/dist/exceptions.handling/default.formatter.js.map +1 -0
  17. package/dist/exceptions.handling/default.sender.d.ts +8 -0
  18. package/dist/exceptions.handling/default.sender.js +13 -0
  19. package/dist/exceptions.handling/default.sender.js.map +1 -0
  20. package/dist/exceptions.handling/global-exceptions.config.js +1 -1
  21. package/dist/exceptions.handling/global-exceptions.config.js.map +1 -1
  22. package/dist/exceptions.handling/global-exceptions.filter.d.ts +8 -11
  23. package/dist/exceptions.handling/global-exceptions.filter.js +38 -56
  24. package/dist/exceptions.handling/global-exceptions.filter.js.map +1 -1
  25. package/dist/exceptions.handling/global-exceptions.interceptor.d.ts +18 -0
  26. package/dist/exceptions.handling/global-exceptions.interceptor.js +57 -0
  27. package/dist/exceptions.handling/global-exceptions.interceptor.js.map +1 -0
  28. package/dist/exceptions.handling/global-exceptions.module.d.ts +2 -23
  29. package/dist/exceptions.handling/global-exceptions.module.js +38 -3
  30. package/dist/exceptions.handling/global-exceptions.module.js.map +1 -1
  31. package/dist/exceptions.handling/types.d.ts +2 -2
  32. package/dist/index.d.ts +31 -2
  33. package/dist/index.js +34 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/logging/constants.d.ts +1 -0
  36. package/dist/logging/constants.js +5 -0
  37. package/dist/logging/constants.js.map +1 -0
  38. package/dist/logging/decorators/inject-logger.decorator.js +2 -2
  39. package/dist/logging/decorators/inject-logger.decorator.js.map +1 -1
  40. package/dist/logging/formatters/default.formatter.d.ts +7 -0
  41. package/dist/logging/formatters/default.formatter.js +17 -0
  42. package/dist/logging/formatters/default.formatter.js.map +1 -0
  43. package/dist/logging/formatters/index.d.ts +2 -0
  44. package/dist/{config/parsers/array → logging/formatters}/index.js +2 -1
  45. package/dist/logging/formatters/index.js.map +1 -0
  46. package/dist/logging/formatters/interfaces.d.ts +23 -0
  47. package/dist/logging/formatters/interfaces.js +3 -0
  48. package/dist/logging/formatters/interfaces.js.map +1 -0
  49. package/dist/logging/index.d.ts +3 -2
  50. package/dist/logging/index.js +6 -4
  51. package/dist/logging/index.js.map +1 -1
  52. package/dist/logging/logging-core.module.d.ts +10 -0
  53. package/dist/logging/{logger-initializing.module.js → logging-core.module.js} +46 -10
  54. package/dist/logging/logging-core.module.js.map +1 -0
  55. package/dist/logging/{logging.module.d.ts → logging-instances.module.d.ts} +1 -1
  56. package/dist/logging/{logging.module.js → logging-instances.module.js} +8 -9
  57. package/dist/logging/logging-instances.module.js.map +1 -0
  58. package/dist/logging/logging.config.d.ts +3 -0
  59. package/dist/logging/logging.config.js +29 -4
  60. package/dist/logging/logging.config.js.map +1 -1
  61. package/dist/logging/logging.interceptor.d.ts +37 -0
  62. package/dist/logging/logging.interceptor.js +124 -0
  63. package/dist/logging/logging.interceptor.js.map +1 -0
  64. package/dist/metrics/metrics.config.js +3 -2
  65. package/dist/metrics/metrics.config.js.map +1 -1
  66. package/dist/platform.context.d.ts +1 -1
  67. package/dist/platform.context.js +3 -2
  68. package/dist/platform.context.js.map +1 -1
  69. package/dist/platform.module.js +19 -6
  70. package/dist/platform.module.js.map +1 -1
  71. package/dist/tracing/constants.d.ts +4 -5
  72. package/dist/tracing/constants.js +9 -7
  73. package/dist/tracing/constants.js.map +1 -1
  74. package/dist/tracing/index.d.ts +1 -0
  75. package/dist/tracing/index.js +1 -0
  76. package/dist/tracing/index.js.map +1 -1
  77. package/dist/tracing/request-id/index.d.ts +4 -0
  78. package/dist/{config/parsers/enum → tracing/request-id}/index.js +4 -1
  79. package/dist/tracing/request-id/index.js.map +1 -0
  80. package/dist/tracing/request-id/metadata.helpers.d.ts +13 -0
  81. package/dist/tracing/request-id/metadata.helpers.js +23 -0
  82. package/dist/tracing/request-id/metadata.helpers.js.map +1 -0
  83. package/dist/tracing/request-id/request-id-gen.decorator.d.ts +8 -0
  84. package/dist/tracing/request-id/request-id-gen.decorator.js +17 -0
  85. package/dist/tracing/request-id/request-id-gen.decorator.js.map +1 -0
  86. package/dist/tracing/request-id/types.d.ts +2 -0
  87. package/dist/tracing/request-id/types.js +3 -0
  88. package/dist/tracing/request-id/types.js.map +1 -0
  89. package/dist/tracing/request-id/with-prefix.fn.d.ts +30 -0
  90. package/dist/tracing/request-id/with-prefix.fn.js +36 -0
  91. package/dist/tracing/request-id/with-prefix.fn.js.map +1 -0
  92. package/dist/tracing/tracing.config.d.ts +5 -0
  93. package/dist/tracing/tracing.config.js +42 -0
  94. package/dist/tracing/tracing.config.js.map +1 -0
  95. package/dist/tracing/tracing.interceptor.d.ts +7 -9
  96. package/dist/tracing/tracing.interceptor.js +30 -28
  97. package/dist/tracing/tracing.interceptor.js.map +1 -1
  98. package/dist/tracing/tracing.module.d.ts +13 -2
  99. package/dist/tracing/tracing.module.js +60 -17
  100. package/dist/tracing/tracing.module.js.map +1 -1
  101. package/dist/transport/protocol.detector.d.ts +1 -1
  102. package/dist/transport/protocol.detector.js +17 -2
  103. package/dist/transport/protocol.detector.js.map +1 -1
  104. package/dist/transport/transport.module.d.ts +0 -1
  105. package/dist/transport/transport.module.js +0 -20
  106. package/dist/transport/transport.module.js.map +1 -1
  107. package/dist/types/plugins.d.ts +2 -15
  108. package/dist/types/plugins.js.map +1 -1
  109. package/dist/types/transports.d.ts +23 -13
  110. package/dist/types/transports.js.map +1 -1
  111. package/dist/unhandled-rejection.handler.js +8 -13
  112. package/dist/unhandled-rejection.handler.js.map +1 -1
  113. package/package.json +3 -2
  114. package/src/config/index.ts +0 -1
  115. package/src/config/metadata/decorators/declare-property.decorator.ts +3 -1
  116. package/src/config/metadata/decorators/property.decorator.ts +3 -5
  117. package/src/config/sources/implementations/json-file.source.ts +1 -2
  118. package/src/config/sources/implementations/relodable-json-file.source.ts +1 -2
  119. package/src/config/types.ts +2 -23
  120. package/src/exceptions.handling/default.formatter.ts +11 -0
  121. package/src/exceptions.handling/default.sender.ts +15 -0
  122. package/src/exceptions.handling/global-exceptions.config.ts +2 -2
  123. package/src/exceptions.handling/global-exceptions.filter.ts +45 -77
  124. package/src/exceptions.handling/global-exceptions.interceptor.ts +57 -0
  125. package/src/exceptions.handling/global-exceptions.module.ts +46 -33
  126. package/src/exceptions.handling/types.ts +2 -2
  127. package/src/index.ts +53 -2
  128. package/src/logging/constants.ts +1 -0
  129. package/src/logging/decorators/inject-logger.decorator.ts +2 -2
  130. package/src/logging/formatters/default.formatter.ts +17 -0
  131. package/src/logging/formatters/index.ts +2 -0
  132. package/src/logging/formatters/interfaces.ts +34 -0
  133. package/src/logging/index.ts +3 -2
  134. package/src/logging/logging-core.module.ts +102 -0
  135. package/src/logging/{logging.module.ts → logging-instances.module.ts} +2 -4
  136. package/src/logging/logging.config.ts +22 -6
  137. package/src/logging/logging.interceptor.ts +138 -0
  138. package/src/metrics/metrics.config.ts +3 -1
  139. package/src/platform.context.ts +5 -2
  140. package/src/platform.module.ts +28 -7
  141. package/src/tracing/constants.ts +8 -7
  142. package/src/tracing/index.ts +1 -0
  143. package/src/tracing/request-id/index.ts +4 -0
  144. package/src/tracing/request-id/metadata.helpers.ts +24 -0
  145. package/src/tracing/request-id/request-id-gen.decorator.ts +16 -0
  146. package/src/tracing/request-id/types.ts +6 -0
  147. package/src/tracing/request-id/with-prefix.fn.ts +44 -0
  148. package/src/tracing/tracing.config.ts +23 -0
  149. package/src/tracing/tracing.interceptor.ts +36 -31
  150. package/src/tracing/tracing.module.ts +68 -19
  151. package/src/transport/protocol.detector.ts +24 -4
  152. package/src/transport/transport.module.ts +0 -25
  153. package/src/types/plugins.ts +11 -22
  154. package/src/types/transports.ts +32 -16
  155. package/src/unhandled-rejection.handler.ts +10 -18
  156. package/test/logging.interceptor.spec.ts +292 -0
  157. package/dist/config/parsers/array/array.parser.d.ts +0 -11
  158. package/dist/config/parsers/array/array.parser.js +0 -33
  159. package/dist/config/parsers/array/array.parser.js.map +0 -1
  160. package/dist/config/parsers/array/index.d.ts +0 -1
  161. package/dist/config/parsers/array/index.js.map +0 -1
  162. package/dist/config/parsers/boolean/bool.parser.d.ts +0 -6
  163. package/dist/config/parsers/boolean/bool.parser.js +0 -20
  164. package/dist/config/parsers/boolean/bool.parser.js.map +0 -1
  165. package/dist/config/parsers/boolean/index.d.ts +0 -1
  166. package/dist/config/parsers/boolean/index.js +0 -18
  167. package/dist/config/parsers/boolean/index.js.map +0 -1
  168. package/dist/config/parsers/enum/enum.parser.d.ts +0 -9
  169. package/dist/config/parsers/enum/enum.parser.js +0 -24
  170. package/dist/config/parsers/enum/enum.parser.js.map +0 -1
  171. package/dist/config/parsers/enum/index.d.ts +0 -1
  172. package/dist/config/parsers/enum/index.js.map +0 -1
  173. package/dist/config/parsers/index.d.ts +0 -11
  174. package/dist/config/parsers/index.js +0 -28
  175. package/dist/config/parsers/index.js.map +0 -1
  176. package/dist/config/parsers/int/index.d.ts +0 -1
  177. package/dist/config/parsers/int/index.js +0 -18
  178. package/dist/config/parsers/int/index.js.map +0 -1
  179. package/dist/config/parsers/int/int.parser.d.ts +0 -6
  180. package/dist/config/parsers/int/int.parser.js +0 -20
  181. package/dist/config/parsers/int/int.parser.js.map +0 -1
  182. package/dist/config/parsers/json/index.d.ts +0 -1
  183. package/dist/config/parsers/json/index.js +0 -18
  184. package/dist/config/parsers/json/index.js.map +0 -1
  185. package/dist/config/parsers/json/json.parser.d.ts +0 -6
  186. package/dist/config/parsers/json/json.parser.js +0 -16
  187. package/dist/config/parsers/json/json.parser.js.map +0 -1
  188. package/dist/config/parsers/number/index.d.ts +0 -1
  189. package/dist/config/parsers/number/index.js +0 -18
  190. package/dist/config/parsers/number/index.js.map +0 -1
  191. package/dist/config/parsers/number/number.parser.d.ts +0 -6
  192. package/dist/config/parsers/number/number.parser.js +0 -23
  193. package/dist/config/parsers/number/number.parser.js.map +0 -1
  194. package/dist/config/parsers/path/fspath.parser.d.ts +0 -8
  195. package/dist/config/parsers/path/fspath.parser.js +0 -59
  196. package/dist/config/parsers/path/fspath.parser.js.map +0 -1
  197. package/dist/config/parsers/path/index.d.ts +0 -1
  198. package/dist/config/parsers/path/index.js +0 -18
  199. package/dist/config/parsers/path/index.js.map +0 -1
  200. package/dist/config/parsers/size/index.d.ts +0 -1
  201. package/dist/config/parsers/size/index.js +0 -18
  202. package/dist/config/parsers/size/index.js.map +0 -1
  203. package/dist/config/parsers/size/size.parser.d.ts +0 -7
  204. package/dist/config/parsers/size/size.parser.js +0 -21
  205. package/dist/config/parsers/size/size.parser.js.map +0 -1
  206. package/dist/config/parsers/string/index.d.ts +0 -1
  207. package/dist/config/parsers/string/index.js +0 -18
  208. package/dist/config/parsers/string/index.js.map +0 -1
  209. package/dist/config/parsers/string/string.parser.d.ts +0 -8
  210. package/dist/config/parsers/string/string.parser.js +0 -29
  211. package/dist/config/parsers/string/string.parser.js.map +0 -1
  212. package/dist/config/parsers/timespan/index.d.ts +0 -1
  213. package/dist/config/parsers/timespan/index.js +0 -18
  214. package/dist/config/parsers/timespan/index.js.map +0 -1
  215. package/dist/config/parsers/timespan/timespan.parser.d.ts +0 -7
  216. package/dist/config/parsers/timespan/timespan.parser.js +0 -21
  217. package/dist/config/parsers/timespan/timespan.parser.js.map +0 -1
  218. package/dist/config/parsers/url/exception.d.ts +0 -7
  219. package/dist/config/parsers/url/exception.js +0 -25
  220. package/dist/config/parsers/url/exception.js.map +0 -1
  221. package/dist/config/parsers/url/index.d.ts +0 -2
  222. package/dist/config/parsers/url/index.js +0 -21
  223. package/dist/config/parsers/url/index.js.map +0 -1
  224. package/dist/config/parsers/url/url.parser.d.ts +0 -9
  225. package/dist/config/parsers/url/url.parser.js +0 -38
  226. package/dist/config/parsers/url/url.parser.js.map +0 -1
  227. package/dist/logging/logger-initializing.module.d.ts +0 -6
  228. package/dist/logging/logger-initializing.module.js.map +0 -1
  229. package/dist/logging/logging.module.js.map +0 -1
  230. package/src/config/parsers/array/array.parser.ts +0 -34
  231. package/src/config/parsers/array/index.ts +0 -1
  232. package/src/config/parsers/boolean/bool.parser.ts +0 -20
  233. package/src/config/parsers/boolean/bool.spec.ts +0 -4
  234. package/src/config/parsers/boolean/index.ts +0 -1
  235. package/src/config/parsers/enum/enum.parser.ts +0 -23
  236. package/src/config/parsers/enum/enum.spec.ts +0 -5
  237. package/src/config/parsers/enum/index.ts +0 -1
  238. package/src/config/parsers/index.ts +0 -11
  239. package/src/config/parsers/int/index.ts +0 -1
  240. package/src/config/parsers/int/int.parser.ts +0 -20
  241. package/src/config/parsers/int/int.spec.ts +0 -5
  242. package/src/config/parsers/json/index.ts +0 -1
  243. package/src/config/parsers/json/json.parser.ts +0 -15
  244. package/src/config/parsers/number/index.ts +0 -1
  245. package/src/config/parsers/number/number.parser.ts +0 -23
  246. package/src/config/parsers/number/number.spec.ts +0 -5
  247. package/src/config/parsers/path/fspath.parser.ts +0 -64
  248. package/src/config/parsers/path/index.ts +0 -1
  249. package/src/config/parsers/size/index.ts +0 -1
  250. package/src/config/parsers/size/size.parser.ts +0 -22
  251. package/src/config/parsers/size/size.spec.ts +0 -4
  252. package/src/config/parsers/string/index.ts +0 -1
  253. package/src/config/parsers/string/string.parser.ts +0 -26
  254. package/src/config/parsers/string/string.spec.ts +0 -10
  255. package/src/config/parsers/timespan/index.ts +0 -1
  256. package/src/config/parsers/timespan/timespan.parser.ts +0 -22
  257. package/src/config/parsers/timespan/timespan.spec.ts +0 -5
  258. package/src/config/parsers/url/exception.ts +0 -21
  259. package/src/config/parsers/url/index.ts +0 -2
  260. package/src/config/parsers/url/url.parser.ts +0 -44
  261. package/src/logging/logger-initializing.module.ts +0 -55
@@ -17,38 +17,26 @@ const common_1 = require("@nestjs/common");
17
17
  const exceptions_1 = require("../exceptions");
18
18
  const logging_1 = require("../logging");
19
19
  const protocol_detector_1 = require("../transport/protocol.detector");
20
- const types_1 = require("../types");
21
20
  const constants_1 = require("./constants");
21
+ const request_id_1 = require("./request-id");
22
22
  const tracing_actx_1 = require("./tracing.actx");
23
+ const tracing_config_1 = require("./tracing.config");
23
24
  /**
24
25
  * Extracts headers that should be passed to all logging messages
25
26
  * and external calls
26
27
  */
27
28
  let TracingInterceptor = class TracingInterceptor {
28
29
  logger;
29
- transports;
30
- plugins;
31
30
  mappings;
31
+ extractors;
32
32
  detector;
33
- /**
34
- * Extractors can be either transports or additional strategies
35
- * supplied by plugins
36
- */
37
- extractors = new Map();
38
- constructor(logger, transports, plugins, mappings, detector) {
33
+ config;
34
+ constructor(logger, mappings, extractors, detector, config) {
39
35
  this.logger = logger;
40
- this.transports = transports;
41
- this.plugins = plugins;
42
36
  this.mappings = mappings;
37
+ this.extractors = extractors;
43
38
  this.detector = detector;
44
- for (const transport of this.transports) {
45
- this.extractors.set(transport.getProtocol(), transport);
46
- }
47
- for (const plugin of this.plugins) {
48
- for (const x of plugin.tracingHeadersExtractors?.() ?? []) {
49
- this.extractors.set(x.protocol, x.extractor);
50
- }
51
- }
39
+ this.config = config;
52
40
  }
53
41
  intercept(ctx, next) {
54
42
  const protocol = this.detector.getProtocol(ctx) ?? ctx.getType();
@@ -56,27 +44,41 @@ let TracingInterceptor = class TracingInterceptor {
56
44
  if (!extractor) {
57
45
  throw new exceptions_1.InternalException(`No headers extractor for protocol: ${protocol}`);
58
46
  }
47
+ const headers = this.extractHeaders(ctx, extractor);
48
+ const { traceRequestId, autogenerate } = this.config;
49
+ if (!headers.requestId && traceRequestId && autogenerate) {
50
+ headers.requestId = this.generateRequestId(ctx, protocol);
51
+ }
52
+ this.logger.trace('Extracted traceable headers', { headers });
53
+ tracing_actx_1.TracingHeaders.set(headers);
54
+ return next.handle();
55
+ }
56
+ extractHeaders(ctx, extractor) {
59
57
  const headers = {};
60
58
  for (const aliases of this.mappings) {
61
59
  const key = aliases[0];
62
60
  const value = aliases
63
61
  .map((x) => extractor.extractHeaders(ctx).get(x))
64
62
  .find((x) => x);
65
- headers[key] = value || '[missing]';
63
+ if (value) {
64
+ headers[key] = value;
65
+ }
66
66
  }
67
- this.logger.trace('Extracted traceable headers', { headers });
68
- tracing_actx_1.TracingHeaders.set(headers);
69
- return next.handle();
67
+ return headers;
68
+ }
69
+ generateRequestId(ctx, protocol) {
70
+ const generate = (0, request_id_1.getStrategy)(ctx.getClass()) ?? request_id_1.generateDefault;
71
+ return generate(ctx, protocol);
70
72
  }
71
73
  };
72
74
  exports.TracingInterceptor = TracingInterceptor;
73
75
  exports.TracingInterceptor = TracingInterceptor = __decorate([
74
76
  (0, common_1.Injectable)(),
75
77
  __param(0, (0, logging_1.InjectLogger)(TracingInterceptor)),
76
- __param(1, (0, common_1.Inject)(types_1.APP_TRANSPORTS)),
77
- __param(2, (0, common_1.Inject)(types_1.APP_PLUGINS)),
78
- __param(3, (0, common_1.Inject)(constants_1.HEADER_MAPPINGS)),
79
- __metadata("design:paramtypes", [Object, Set,
80
- Set, Array, protocol_detector_1.ProtocolDetector])
78
+ __param(1, (0, common_1.Inject)(constants_1.HEADER_MAPPINGS)),
79
+ __param(2, (0, common_1.Inject)(constants_1.HEADER_EXTRACTORS)),
80
+ __metadata("design:paramtypes", [Object, Array, Map,
81
+ protocol_detector_1.ProtocolDetector,
82
+ tracing_config_1.TracingConfig])
81
83
  ], TracingInterceptor);
82
84
  //# sourceMappingURL=tracing.interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.interceptor.js","sourceRoot":"","sources":["../../src/tracing/tracing.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,2CAAoD;AAGpD,8CAAkD;AAClD,wCAAmD;AACnD,sEAAkE;AAMlE,oCAAuD;AAEvD,2CAA8C;AAC9C,iDAAgD;AAGhD;;;GAGG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAQe;IACV;IACH;IACI;IACzB;IAXV;;;OAGG;IACc,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEpE,YAC4C,MAAe,EACzB,UAA2B,EAC9B,OAA+B,EAC3B,QAAiC,EAC1D,QAA0B;QAJQ,WAAM,GAAN,MAAM,CAAS;QACzB,eAAU,GAAV,UAAU,CAAiB;QAC9B,YAAO,GAAP,OAAO,CAAwB;QAC3B,aAAQ,GAAR,QAAQ,CAAyB;QAC1D,aAAQ,GAAR,QAAQ,CAAkB;QAElC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,8BAAiB,CACzB,sCAAsC,QAAQ,EAAE,CACjD,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAChD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAElB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9D,6BAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AApDY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IASR,WAAA,IAAA,sBAAY,EAAC,kBAAkB,CAAC,CAAA;IAChC,WAAA,IAAA,eAAM,EAAC,sBAAc,CAAC,CAAA;IACtB,WAAA,IAAA,eAAM,EAAC,mBAAW,CAAC,CAAA;IACnB,WAAA,IAAA,eAAM,EAAC,2BAAe,CAAC,CAAA;6CAFoB,GAAG;QACT,GAAG,SAEvB,oCAAgB;GAZzB,kBAAkB,CAoD9B"}
1
+ {"version":3,"file":"tracing.interceptor.js","sourceRoot":"","sources":["../../src/tracing/tracing.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,2CAAoD;AAGpD,8CAAkD;AAClD,wCAAmD;AACnD,sEAAkE;AAGlE,2CAAiE;AACjE,6CAA4D;AAC5D,iDAAgD;AAChD,qDAAiD;AAGjD;;;GAGG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGe;IACT;IACW;IAC3B;IACA;IANnB,YAE4C,MAAe,EACxB,QAAiC,EACtB,UAA2C,EACtE,QAA0B,EAC1B,MAAqB;QAJI,WAAM,GAAN,MAAM,CAAS;QACxB,aAAQ,GAAR,QAAQ,CAAyB;QACtB,eAAU,GAAV,UAAU,CAAiC;QACtE,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,WAAM,GAAN,MAAM,CAAe;IAErC,CAAC;IAEJ,SAAS,CAAC,GAAqB,EAAE,IAAiB;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,8BAAiB,CACzB,sCAAsC,QAAQ,EAAE,CACjD,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEpD,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,cAAc,IAAI,YAAY,EAAE,CAAC;YACzD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9D,6BAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAEO,cAAc,CACpB,GAAqB,EACrB,SAA6B;QAE7B,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAChD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAElB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,GAAqB,EAAE,QAAgB;QAC/D,MAAM,QAAQ,GAAG,IAAA,wBAAW,EAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,4BAAe,CAAC;QAEhE,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AA5DY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,sBAAY,EAAC,kBAAkB,CAAC,CAAA;IAChC,WAAA,IAAA,eAAM,EAAC,2BAAe,CAAC,CAAA;IACvB,WAAA,IAAA,eAAM,EAAC,6BAAiB,CAAC,CAAA;oDAA8B,GAAG;QAChC,oCAAgB;QAClB,8BAAa;GAP7B,kBAAkB,CA4D9B"}
@@ -3,7 +3,6 @@ import { ILogger } from '@rsdk/logging';
3
3
  import type { PlatformOptions } from '../types';
4
4
  import type { TracingHeaderMappings } from './types';
5
5
  export interface TracingOptions {
6
- includeDefault: boolean;
7
6
  additionalMappings?: TracingHeaderMappings[];
8
7
  }
9
8
  export declare class TracingModule implements OnModuleInit {
@@ -11,6 +10,18 @@ export declare class TracingModule implements OnModuleInit {
11
10
  private trace;
12
11
  private context;
13
12
  constructor(logger: ILogger);
14
- static forRoot({ tracing, plugins, }: PlatformOptions): DynamicModule;
13
+ static forRoot({ tracing, plugins, transports, }: PlatformOptions): DynamicModule;
14
+ /**
15
+ * Creates a provider for header mappings configuration.
16
+ * Combines default headers, plugin-provided headers and additional custom mappings
17
+ * into a single collection.
18
+ */
19
+ private static createHeaderMappingsProvider;
20
+ /**
21
+ * Creates a provider for header extractors from different transport protocols.
22
+ * Collects extractors from both transport implementations and plugins to handle
23
+ * protocol-specific header extraction.
24
+ */
25
+ private static createHeaderExtractorsProvider;
15
26
  onModuleInit(): Promise<void>;
16
27
  }
@@ -21,13 +21,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
21
21
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
22
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
23
  };
24
- var __importStar = (this && this.__importStar) || function (mod) {
25
- if (mod && mod.__esModule) return mod;
26
- var result = {};
27
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
- __setModuleDefault(result, mod);
29
- return result;
30
- };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
31
41
  var __metadata = (this && this.__metadata) || function (k, v) {
32
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
43
  };
@@ -44,6 +54,7 @@ const logging_1 = require("@rsdk/logging");
44
54
  const logging_2 = require("../logging");
45
55
  const constants_1 = require("./constants");
46
56
  const tracing_actx_1 = require("./tracing.actx");
57
+ const tracing_config_1 = require("./tracing.config");
47
58
  const tracing_interceptor_1 = require("./tracing.interceptor");
48
59
  let TracingModule = TracingModule_1 = class TracingModule {
49
60
  logger;
@@ -52,24 +63,56 @@ let TracingModule = TracingModule_1 = class TracingModule {
52
63
  constructor(logger) {
53
64
  this.logger = logger;
54
65
  }
55
- static forRoot({ tracing = constants_1.DEFAULT_TRACING_OPTIONS, plugins = [], }) {
56
- const mappings = [];
57
- if (tracing?.includeDefault) {
58
- mappings.push(...constants_1.DEFAULT_TRACING_HEADERS);
59
- }
60
- for (const plugin of plugins) {
61
- mappings.push(...(plugin.additionalTracingHeaders?.() ?? []));
62
- }
63
- mappings.push(...(tracing.additionalMappings ?? []));
66
+ static forRoot({ tracing, plugins, transports, }) {
64
67
  return {
65
68
  global: true,
66
69
  module: TracingModule_1,
67
70
  providers: [
68
71
  { provide: core_1.APP_INTERCEPTOR, useClass: tracing_interceptor_1.TracingInterceptor },
69
- { provide: constants_1.HEADER_MAPPINGS, useValue: mappings },
72
+ this.createHeaderExtractorsProvider(transports, plugins),
73
+ this.createHeaderMappingsProvider(tracing, plugins),
70
74
  ],
71
75
  };
72
76
  }
77
+ /**
78
+ * Creates a provider for header mappings configuration.
79
+ * Combines default headers, plugin-provided headers and additional custom mappings
80
+ * into a single collection.
81
+ */
82
+ static createHeaderMappingsProvider(options = {}, plugins) {
83
+ const mappings = [];
84
+ for (const plugin of plugins ?? []) {
85
+ mappings.push(...(plugin.additionalTracingHeaders?.() ?? []));
86
+ }
87
+ mappings.push(...(options.additionalMappings ?? []));
88
+ return {
89
+ provide: constants_1.HEADER_MAPPINGS,
90
+ inject: [tracing_config_1.TracingConfig],
91
+ useFactory: (config) => {
92
+ if (config.traceRequestId) {
93
+ mappings.push(constants_1.REQUEST_ID_HEADERS);
94
+ }
95
+ return mappings;
96
+ },
97
+ };
98
+ }
99
+ /**
100
+ * Creates a provider for header extractors from different transport protocols.
101
+ * Collects extractors from both transport implementations and plugins to handle
102
+ * protocol-specific header extraction.
103
+ */
104
+ static createHeaderExtractorsProvider(transports, plugins) {
105
+ const extractors = new Map();
106
+ for (const transport of transports ?? []) {
107
+ extractors.set(transport.getProtocol(), transport);
108
+ }
109
+ for (const plugin of plugins ?? []) {
110
+ for (const x of plugin.tracingHeadersExtractors?.() ?? []) {
111
+ extractors.set(x.protocol, x.extractor);
112
+ }
113
+ }
114
+ return { provide: constants_1.HEADER_EXTRACTORS, useValue: extractors };
115
+ }
73
116
  // Можно добавить включение и выключение при изменении конфига.
74
117
  async onModuleInit() {
75
118
  if (!this.context || !this.trace) {
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.module.js","sourceRoot":"","sources":["../../src/tracing/tracing.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracing.module.js","sourceRoot":"","sources":["../../src/tracing/tracing.module.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare class ProtocolDetector {
10
10
  /**
11
11
  * Detects transport's protocol by ArgumentHost (context)
12
12
  */
13
- getProtocol(context: ArgumentsHost): string | undefined;
13
+ getProtocol(context: ArgumentsHost): string;
14
14
  /**
15
15
  * Checks that transport's protocol matches the provided one.
16
16
  * (just convenience method)
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProtocolDetector = void 0;
4
+ const exceptions_1 = require("../exceptions");
4
5
  /**
5
6
  * This class is used to detect current protocol (transport type).
6
7
  * Mostly used in global enhancers to decide: "to work of not to work"
@@ -14,7 +15,15 @@ class ProtocolDetector {
14
15
  * Detects transport's protocol by ArgumentHost (context)
15
16
  */
16
17
  getProtocol(context) {
17
- return this.getTransport(context)?.getProtocol();
18
+ /**
19
+ * FIXME: Грязный хак, который можно исправить только
20
+ * "прицепив" к транспорту. А ещё учесть, что на http-транспорте
21
+ * может быть и обычный http!
22
+ */
23
+ if (context.getType() === 'graphql') {
24
+ return 'graphql';
25
+ }
26
+ return this.getTransport(context).getProtocol();
18
27
  }
19
28
  /**
20
29
  * Checks that transport's protocol matches the provided one.
@@ -24,7 +33,13 @@ class ProtocolDetector {
24
33
  return this.getProtocol(context) === protocol;
25
34
  }
26
35
  getTransport(context) {
27
- return this.transports.findLast((x) => x.matchByContext(context));
36
+ const transport = this.transports.findLast((x) => x.matchByContext(context));
37
+ if (!transport) {
38
+ throw new exceptions_1.InternalException('Cant detect transport protocol', {
39
+ details: { context },
40
+ });
41
+ }
42
+ return transport;
28
43
  }
29
44
  }
30
45
  exports.ProtocolDetector = ProtocolDetector;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.detector.js","sourceRoot":"","sources":["../../src/transport/protocol.detector.ts"],"names":[],"mappings":";;;AAIA;;;GAGG;AACH,MAAa,gBAAgB;IACP;IAApB,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAG,CAAC;IAEhD;;OAEG;IACH,WAAW,CAAC,OAAsB;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAsB,EAAE,QAAgB;QACpD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;IAChD,CAAC;IAEO,YAAY,CAAC,OAAsB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AArBD,4CAqBC"}
1
+ {"version":3,"file":"protocol.detector.js","sourceRoot":"","sources":["../../src/transport/protocol.detector.ts"],"names":[],"mappings":";;;AAEA,8CAAkD;AAGlD;;;GAGG;AACH,MAAa,gBAAgB;IACP;IAApB,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAG,CAAC;IAEhD;;OAEG;IACH,WAAW,CAAC,OAAsB;QAChC;;;;WAIG;QACH,IAAK,OAAO,CAAC,OAAO,EAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAsB,EAAE,QAAgB;QACpD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;IAChD,CAAC;IAEO,YAAY,CAAC,OAAsB;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAC1B,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,8BAAiB,CAAC,gCAAgC,EAAE;gBAC5D,OAAO,EAAE,EAAE,OAAO,EAAE;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAxCD,4CAwCC"}
@@ -6,5 +6,4 @@ export declare class PlatformTransportModule {
6
6
  private static initProtocolDetector;
7
7
  private static initMetrics;
8
8
  private static initHealthchecks;
9
- private static initExceptionsHandling;
10
9
  }
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlatformTransportModule = void 0;
4
- const lodash_1 = require("lodash");
5
- const exceptions_handling_1 = require("../exceptions.handling");
6
4
  const health_module_1 = require("../health/health.module");
7
5
  const metrics_1 = require("../metrics");
8
6
  const types_1 = require("../types");
@@ -14,7 +12,6 @@ class PlatformTransportModule {
14
12
  PlatformTransportModule.initProtocolDetector(options),
15
13
  PlatformTransportModule.initHealthchecks(options),
16
14
  PlatformTransportModule.initMetrics(options),
17
- PlatformTransportModule.initExceptionsHandling(options),
18
15
  ...PlatformTransportModule.getTransportModules(options),
19
16
  ],
20
17
  module: PlatformTransportModule,
@@ -54,23 +51,6 @@ class PlatformTransportModule {
54
51
  .map((x) => x.getHealthController()),
55
52
  });
56
53
  }
57
- static initExceptionsHandling(options) {
58
- const transports = options.transports ?? [];
59
- return exceptions_handling_1.GlobalExceptionsModule.forRoot({
60
- formatters: [
61
- ...transports.map((x) => x.getErrorsFormatter()),
62
- ...(options.plugins?.map((x) => x.errorFormatter?.()) || []),
63
- ].filter((x) => Boolean(x)),
64
- senders: [
65
- ...transports.map((x) => x.getErrorsSender?.()),
66
- ...(options.plugins?.map((x) => x.errorSender?.()) || []),
67
- ].filter((x) => Boolean(x)),
68
- transformers: [
69
- ...(0, lodash_1.flatten)(transports.map((x) => x.getErrorTransformers())),
70
- ...(0, lodash_1.flatten)(options.plugins?.map((x) => x.errorTransformers?.() || [])),
71
- ],
72
- });
73
- }
74
54
  }
75
55
  exports.PlatformTransportModule = PlatformTransportModule;
76
56
  //# sourceMappingURL=transport.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.module.js","sourceRoot":"","sources":["../../src/transport/transport.module.ts"],"names":[],"mappings":";;;AAEA,mCAAiC;AAGjC,gEAAgE;AAChE,2DAAuD;AACvD,wCAA2C;AAE3C,oCAA8C;AAE9C,2DAAuD;AAEvD,MAAa,uBAAuB;IAClC,MAAM,CAAC,UAAU,CAAC,OAAgC;QAChD,OAAO;YACL,OAAO,EAAE;gBACP,uBAAuB,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACrD,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBACjD,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC5C,uBAAuB,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBACvD,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,OAAO,CAAC;aACxD;YACD,MAAM,EAAE,uBAAuB;SAChC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,OAAgC;QAEhC,OAAO,CACL,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC,CAAC,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAgC;QAEhC,OAAO;YACL,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,oCAAgB;oBACzB,QAAQ,EAAE,IAAI,oCAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;iBACzD;aACF;YACD,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,CAAC,oCAAgB,CAAC;SAC5B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,OAAgC;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAK,EAAY,CAAC;QAEvD,OAAO,uBAAa,CAAC,OAAO,CAAC;YAC3B,WAAW,EAAE,UAAU;iBACpB,MAAM,CAAC,0BAAkB,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAC7B,OAAgC;QAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAK,EAAY,CAAC;QAEvD,OAAO,4BAAY,CAAC,OAAO,CAAC;YAC1B,WAAW,EAAE,UAAU;iBACpB,MAAM,CAAC,0BAAkB,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,sBAAsB,CACnC,OAAgC;QAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAE5C,OAAO,4CAAsB,CAAC,OAAO,CAAC;YACpC,UAAU,EAAE;gBACV,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAChD,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;aAC7D,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,EAAE;gBACP,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC/C,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;aAC1D,CAAC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/C,YAAY,EAAE;gBACZ,GAAG,IAAA,gBAAO,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;gBAC3D,GAAG,IAAA,gBAAO,EAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACvE;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAlFD,0DAkFC"}
1
+ {"version":3,"file":"transport.module.js","sourceRoot":"","sources":["../../src/transport/transport.module.ts"],"names":[],"mappings":";;;AAGA,2DAAuD;AACvD,wCAA2C;AAE3C,oCAA8C;AAE9C,2DAAuD;AAEvD,MAAa,uBAAuB;IAClC,MAAM,CAAC,UAAU,CAAC,OAAgC;QAChD,OAAO;YACL,OAAO,EAAE;gBACP,uBAAuB,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBACrD,uBAAuB,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBACjD,uBAAuB,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC5C,GAAG,uBAAuB,CAAC,mBAAmB,CAAC,OAAO,CAAC;aACxD;YACD,MAAM,EAAE,uBAAuB;SAChC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,OAAgC;QAEhC,OAAO,CACL,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;QACrC,CAAC,CAAC,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,OAAgC;QAEhC,OAAO;YACL,MAAM,EAAE,uBAAuB;YAC/B,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,oCAAgB;oBACzB,QAAQ,EAAE,IAAI,oCAAgB,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;iBACzD;aACF;YACD,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,CAAC,oCAAgB,CAAC;SAC5B,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,OAAgC;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAK,EAAY,CAAC;QAEvD,OAAO,uBAAa,CAAC,OAAO,CAAC;YAC3B,WAAW,EAAE,UAAU;iBACpB,MAAM,CAAC,0BAAkB,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAC7B,OAAgC;QAEhC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAK,EAAY,CAAC;QAEvD,OAAO,4BAAY,CAAC,OAAO,CAAC;YAC1B,WAAW,EAAE,UAAU;iBACpB,MAAM,CAAC,0BAAkB,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;CACF;AA5DD,0DA4DC"}
@@ -1,9 +1,8 @@
1
1
  import type { DynamicModule, MiddlewareConsumer } from '@nestjs/common';
2
2
  import type { Constructor } from '@rsdk/common';
3
3
  import type { ResourceExtractor } from '@rsdk/metadata';
4
- import type { IErrorsFormatter, IErrorsSender, IErrorsTransformer } from '../exceptions.handling';
5
4
  import type { TracingHeaderMappings } from '../tracing';
6
- import type { WithGenericHeaders } from './transports';
5
+ import type { WithErrorFormatting, WithErrorSending, WithErrorTransforming, WithGenericHeaders, WithLogFormatting } from './transports';
7
6
  export type SpecifiedTransports = Readonly<string[]>;
8
7
  export type AppropriateTransports = SpecifiedTransports | 'any';
9
8
  export declare const hasSpecifiedTransports: (x: PlatformAppPlugin) => x is PlatformAppPlugin<SpecifiedTransports>;
@@ -13,7 +12,7 @@ export declare const hasSpecifiedTransports: (x: PlatformAppPlugin) => x is Plat
13
12
  * are cases when initialization should be extended from
14
13
  * outside. This is where plugins come in.
15
14
  */
16
- export interface PlatformAppPlugin<T extends AppropriateTransports = AppropriateTransports> {
15
+ export interface PlatformAppPlugin<T extends AppropriateTransports = AppropriateTransports> extends Partial<WithErrorFormatting>, Partial<WithErrorSending>, Partial<WithErrorTransforming>, Partial<WithLogFormatting> {
17
16
  /**
18
17
  * Additional resource extractors
19
18
  * Maybe used with custom plugin entity
@@ -41,18 +40,6 @@ export interface PlatformAppPlugin<T extends AppropriateTransports = Appropriate
41
40
  * level modules.
42
41
  */
43
42
  modules?(): (Constructor | DynamicModule)[];
44
- /**
45
- * Additional error transformers
46
- */
47
- errorTransformers?(): IErrorsTransformer[];
48
- /**
49
- * Additional error formatter
50
- */
51
- errorFormatter?(): IErrorsFormatter;
52
- /**
53
- * Additional errors sender
54
- */
55
- errorSender?(): IErrorsSender;
56
43
  /**
57
44
  * Apply additional middleware (using MiddlewareConsumer).
58
45
  * Will work only if application has HttpAdapter
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":";;;AAgBO,MAAM,sBAAsB,GAAG,CACpC,CAAoB,EACyB,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,KAAK,CAAC;AAFjE,QAAA,sBAAsB,0BAE2C"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":";;;AAiBO,MAAM,sBAAsB,GAAG,CACpC,CAAoB,EACyB,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,KAAK,CAAC;AAFjE,QAAA,sBAAsB,0BAE2C"}
@@ -5,6 +5,7 @@ import type { MicroserviceOptions } from '@nestjs/microservices';
5
5
  import type { Constructor } from '@rsdk/common';
6
6
  import type { ConfigContext } from '../config';
7
7
  import type { IErrorsFormatter, IErrorsSender, IErrorsTransformer } from '../exceptions.handling';
8
+ import type { LogFormatter } from '../logging';
8
9
  import type { NestModuleDefinitions } from './options';
9
10
  export interface GenericHeaders {
10
11
  get(key: string): string | undefined;
@@ -21,10 +22,31 @@ export interface WithGenericHeaders {
21
22
  extractHeaders(context: ExecutionContext): GenericHeaders;
22
23
  }
23
24
  export declare const hasGenericHeaders: (x: unknown) => x is WithGenericHeaders;
25
+ export interface WithErrorFormatting {
26
+ errorFormatter(): IErrorsFormatter;
27
+ }
28
+ export interface WithErrorSending {
29
+ /**
30
+ * @returns sending error algorithm
31
+ */
32
+ errorSender(): IErrorsSender;
33
+ }
34
+ export interface WithErrorTransforming {
35
+ /**
36
+ * @returns error transformers or empty array
37
+ */
38
+ errorTransformers(): IErrorsTransformer[];
39
+ }
40
+ export interface WithLogFormatting {
41
+ /**
42
+ * @returns logging formatter
43
+ */
44
+ logFormatter(): LogFormatter;
45
+ }
24
46
  /**
25
47
  * Base functionality of HTTP or microservice transport
26
48
  */
27
- export interface ITransport extends WithGenericHeaders {
49
+ export interface ITransport extends WithGenericHeaders, WithErrorFormatting, WithErrorTransforming, WithLogFormatting, Partial<WithErrorSending> {
28
50
  /**
29
51
  * @returns protocol in text format
30
52
  */
@@ -40,18 +62,6 @@ export interface ITransport extends WithGenericHeaders {
40
62
  * return ctx.getArgByIndex(1) instanceof MyTransportContext
41
63
  */
42
64
  matchByContext(ctx: ArgumentsHost): boolean;
43
- /**
44
- * @returns error formatting algorithm
45
- */
46
- getErrorsFormatter(): IErrorsFormatter;
47
- /**
48
- * @returns error transformers or empty array
49
- */
50
- getErrorTransformers(): IErrorsTransformer[];
51
- /**
52
- * @returns sending error algorithm
53
- */
54
- getErrorsSender?(): IErrorsSender;
55
65
  /**
56
66
  * Modules for register metrics, healthchecks, configs and supporting tools, such as clients
57
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"transports.js","sourceRoot":"","sources":["../../src/types/transports.ts"],"names":[],"mappings":";;;AAmCO,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAA2B,EAAE,CACvE,OAAQ,CAAS,EAAE,UAAU,KAAK,UAAU,CAAC;AADlC,QAAA,iBAAiB,qBACiB;AAgHxC,MAAM,kBAAkB,GAAG,CAAC,CAAa,EAA0B,EAAE,CAC1E,OAAQ,CAAuB,CAAC,mBAAmB,KAAK,UAAU;IAClE,OAAQ,CAAuB,CAAC,oBAAoB,KAAK,UAAU,CAAC;AAFzD,QAAA,kBAAkB,sBAEuC;AAE/D,MAAM,eAAe,GAAG,CAAC,CAAa,EAAuB,EAAE,CACpE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AADhB,QAAA,eAAe,mBACC;AAEtB,MAAM,uBAAuB,GAAG,CACrC,CAAa,EACgB,EAAE,CAC/B,OAAQ,CAA4B,CAAC,yBAAyB,KAAK,UAAU,CAAC;AAHnE,QAAA,uBAAuB,2BAG4C"}
1
+ {"version":3,"file":"transports.js","sourceRoot":"","sources":["../../src/types/transports.ts"],"names":[],"mappings":";;;AAoCO,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAA2B,EAAE,CACvE,OAAQ,CAAS,EAAE,UAAU,KAAK,UAAU,CAAC;AADlC,QAAA,iBAAiB,qBACiB;AA+HxC,MAAM,kBAAkB,GAAG,CAAC,CAAa,EAA0B,EAAE,CAC1E,OAAQ,CAAuB,CAAC,mBAAmB,KAAK,UAAU;IAClE,OAAQ,CAAuB,CAAC,oBAAoB,KAAK,UAAU,CAAC;AAFzD,QAAA,kBAAkB,sBAEuC;AAE/D,MAAM,eAAe,GAAG,CAAC,CAAa,EAAuB,EAAE,CACpE,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AADhB,QAAA,eAAe,mBACC;AAEtB,MAAM,uBAAuB,GAAG,CACrC,CAAa,EACgB,EAAE,CAC/B,OAAQ,CAA4B,CAAC,yBAAyB,KAAK,UAAU,CAAC;AAHnE,QAAA,uBAAuB,2BAG4C"}
@@ -2,25 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const common_1 = require("@rsdk/common");
4
4
  const logging_1 = require("@rsdk/logging");
5
- const logger = logging_1.LoggerFactory.create('PlatformContext');
6
- if (!process.env.RSDK_CLI_MODE) {
7
- logger.info('Registering unhandled rejections handler...');
8
- }
5
+ const logger = logging_1.LoggerFactory.create('UnhandledRejectionHandler');
9
6
  // This code enriches output if unhandled exceptions happen
10
7
  process.on('unhandledRejection', (reason, promise) => {
11
- logger.error((0, common_1.text) `
12
- Unhandled promise rejection happened! Process is shutting down
13
- with exit code 1. See: https://github.com/nodejs/node/issues/20392
14
- and https://nodejs.org/api/process.html#event-unhandledrejection
15
- `, { promise, reason });
8
+ const message = (0, common_1.text) `
9
+ Unhandled promise rejection happened! Process is shutting down
10
+ with exit code 1. See: https://github.com/nodejs/node/issues/20392
11
+ and https://nodejs.org/api/process.html#event-unhandledrejection
12
+ `;
13
+ logger.error(message, { promise, reason });
16
14
  /**
17
15
  * Additionally writes to standard console, because both <promise> and <reason>
18
16
  * can be not serializable
19
17
  */
20
- console.error('Found unhandled rejection', {
21
- promise,
22
- reason,
23
- });
18
+ console.error(message, { promise, reason });
24
19
  process.exit(1);
25
20
  });
26
21
  //# sourceMappingURL=unhandled-rejection.handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unhandled-rejection.handler.js","sourceRoot":"","sources":["../src/unhandled-rejection.handler.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,2CAA8C;AAE9C,MAAM,MAAM,GAAG,uBAAa,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;AAC7D,CAAC;AAED,2DAA2D;AAC3D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,OAAO,EAAE,EAAE;IACxD,MAAM,CAAC,KAAK,CACV,IAAA,aAAI,EAAA;;;;OAID,EACH,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;IAEF;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE;QACzC,OAAO;QACP,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"unhandled-rejection.handler.js","sourceRoot":"","sources":["../src/unhandled-rejection.handler.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,2CAA8C;AAE9C,MAAM,MAAM,GAAG,uBAAa,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEjE,2DAA2D;AAC3D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,OAAqB,EAAE,EAAE;IACtE,MAAM,OAAO,GAAG,IAAA,aAAI,EAAA;;;;GAInB,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3C;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAE5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/core",
3
- "version": "5.7.0-next.2",
3
+ "version": "6.0.0-next.0",
4
4
  "description": "Nestjs based microservice chassis",
5
5
  "license": "Apache License 2.0",
6
6
  "publishConfig": {
@@ -34,6 +34,7 @@
34
34
  "@rsdk/logging": "*",
35
35
  "@rsdk/metadata": "*",
36
36
  "@rsdk/nest-tools": "*",
37
+ "@rsdk/zones": "*",
37
38
  "pino-opentelemetry-transport": "^1.0.1",
38
39
  "reflect-metadata": "^0.1.12 || ^0.2.0",
39
40
  "rxjs": "^7.8.1"
@@ -49,5 +50,5 @@
49
50
  "optional": true
50
51
  }
51
52
  },
52
- "gitHead": "c85fca0b594a2ea168d06f1d2941a4fb05b59440"
53
+ "gitHead": "215cccea23d95118dd8b6af3ce11c6a35ce19c30"
53
54
  }
@@ -1,4 +1,3 @@
1
- export * from './parsers';
2
1
  export * from './config.module';
3
2
  export * from './sources';
4
3
  export * from './config.abstract';
@@ -1,4 +1,6 @@
1
- import type { PropertyOptions, PropertyParser } from '../../types';
1
+ import type { PropertyParser } from '@rsdk/common';
2
+
3
+ import type { PropertyOptions } from '../../types';
2
4
  import { ConfigMetadataRegistry } from '../config-metadata.registry';
3
5
 
4
6
  /**
@@ -1,8 +1,6 @@
1
- import type {
2
- PropertyOptions,
3
- PropertyParser,
4
- SectionMetadata,
5
- } from '../../types';
1
+ import type { PropertyParser } from '@rsdk/common';
2
+
3
+ import type { PropertyOptions, SectionMetadata } from '../../types';
6
4
 
7
5
  export const CONFIG_METADATA_KEY = 'CONFIG_METADATA';
8
6
 
@@ -1,7 +1,6 @@
1
- import { readObj } from '@rsdk/common.node';
1
+ import { FsPathParser, readObj } from '@rsdk/common.node';
2
2
 
3
3
  import { DeclareProperty, InjectProperty } from '../../metadata';
4
- import { FsPathParser } from '../../parsers';
5
4
  import type { SourceType } from '../../types';
6
5
  import { ConfigSource } from '../base';
7
6
  import { Source } from '../config-source.decorator';
@@ -1,9 +1,8 @@
1
- import { readObj } from '@rsdk/common.node';
1
+ import { FsPathParser, readObj } from '@rsdk/common.node';
2
2
  import { LoggerFactory } from '@rsdk/logging';
3
3
  import { watch } from 'node:fs';
4
4
 
5
5
  import { DeclareProperty, InjectProperty } from '../../metadata';
6
- import { FsPathParser } from '../../parsers';
7
6
  import { ReloadEvents } from '../../reload';
8
7
  import { ReloadableConfigSource } from '../base';
9
8
  import { Source } from '../config-source.decorator';