@rsdk/core 5.7.0-next.3 → 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
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.LoggingInterceptor = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const zones_1 = require("@rsdk/zones");
18
+ const rxjs_1 = require("rxjs");
19
+ const protocol_detector_1 = require("../transport/protocol.detector");
20
+ const inject_logger_decorator_1 = require("./decorators/inject-logger.decorator");
21
+ const constants_1 = require("./constants");
22
+ const formatters_1 = require("./formatters");
23
+ const logging_config_1 = require("./logging.config");
24
+ /**
25
+ * LOG_LEVEL=
26
+ * LOG_REDACT=
27
+ * LOG_SYNC=
28
+ * LOG_OTEL_ENABLED=
29
+ *
30
+ * 1. Я хочу, чтобы сообщения в логе писались можно было писать
31
+ * с большим или меньшим количество подробностей. В зависимости
32
+ * от уровня логирования.
33
+ *
34
+ * 2. Я хочу, чтобы логирование успешных ответов и логирование ошибок
35
+ * было в принципе унифицировано. Сейчас этим занимаются разные интерцепторы.
36
+ * а мог бы один, отвечающий за логирование.
37
+ *
38
+ * 3. Логирование бинарных данных должны быть исключено.
39
+ * Возможность исключать логи запросов по ApiZone... кроме ошибок.
40
+ *
41
+ * 4. В логе ошибок писать больше о контексте запроса.
42
+ *
43
+ * РАЗОБРАТЬСЯ, ПОЧЕМУ kicker мы не можем сделать контроллером?
44
+ */
45
+ let LoggingInterceptor = class LoggingInterceptor {
46
+ logger;
47
+ formatters;
48
+ detector;
49
+ config;
50
+ defaultFormatter = new formatters_1.DefaultLogFormatter();
51
+ constructor(logger, formatters, detector, config) {
52
+ this.logger = logger;
53
+ this.formatters = formatters;
54
+ this.detector = detector;
55
+ this.config = config;
56
+ }
57
+ intercept(context, next) {
58
+ const receivedAt = Date.now();
59
+ const protocol = this.detector.getProtocol(context);
60
+ const formatter = protocol
61
+ ? this.getFormatter(protocol)
62
+ : this.defaultFormatter;
63
+ const shouldLog = formatter.shouldLog?.(context) ?? true;
64
+ if (!shouldLog) {
65
+ return next.handle();
66
+ }
67
+ const { logRequestBody, logResponseBody, excludeZones, level } = this.config;
68
+ const path = formatter.getPath(context);
69
+ const requestDetails = formatter.formatRequest(context, logRequestBody);
70
+ const zone = zones_1.Zone.getForContext(context);
71
+ const isExcluded = !!zone && excludeZones.includes(zone);
72
+ if (!isExcluded) {
73
+ this.logger.debug(`>>> Received [${protocol.toUpperCase()}] ${path}`, {
74
+ details: requestDetails,
75
+ path,
76
+ zone,
77
+ });
78
+ }
79
+ return next.handle().pipe((0, rxjs_1.catchError)((ex) => {
80
+ /**
81
+ * Добавляем параметры запроса, если они не были залогированы ранее.
82
+ */
83
+ const request = isExcluded || !['trace', 'debug'].includes(level)
84
+ ? requestDetails
85
+ : '[ALREADY LOGGED]';
86
+ this.logger.error(`Failed [${protocol.toUpperCase()}] ${path}`, {
87
+ request,
88
+ cause: ex,
89
+ path,
90
+ zone,
91
+ });
92
+ return (0, rxjs_1.throwError)(() => ex);
93
+ }), (0, rxjs_1.tap)((body) => {
94
+ if (isExcluded) {
95
+ return;
96
+ }
97
+ const responseDetails = formatter.formatResponse(context, logResponseBody ? body : undefined);
98
+ this.logger.debug(`<<< Handled [${protocol.toUpperCase()}] ${path}`, {
99
+ details: responseDetails,
100
+ executionTime: Date.now() - receivedAt,
101
+ path,
102
+ zone,
103
+ });
104
+ }));
105
+ }
106
+ getFormatter(protocol) {
107
+ const formatter = this.formatters.get(protocol);
108
+ if (!formatter) {
109
+ this.logger.warn(`no formatter for protocol <${protocol}>...`);
110
+ return this.defaultFormatter;
111
+ }
112
+ return formatter;
113
+ }
114
+ };
115
+ exports.LoggingInterceptor = LoggingInterceptor;
116
+ exports.LoggingInterceptor = LoggingInterceptor = __decorate([
117
+ (0, common_1.Injectable)(),
118
+ __param(0, (0, inject_logger_decorator_1.InjectLogger)(LoggingInterceptor)),
119
+ __param(1, (0, common_1.Inject)(constants_1.LOG_FORMATTERS)),
120
+ __metadata("design:paramtypes", [Object, Map,
121
+ protocol_detector_1.ProtocolDetector,
122
+ logging_config_1.LoggingConfig])
123
+ ], LoggingInterceptor);
124
+ //# sourceMappingURL=logging.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.interceptor.js","sourceRoot":"","sources":["../../src/logging/logging.interceptor.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MetricsModuleConfig = void 0;
13
+ const common_1 = require("@rsdk/common");
13
14
  const config_1 = require("../config");
14
15
  const config_const_1 = require("../config/config.const");
15
16
  let MetricsModuleConfig = class MetricsModuleConfig extends config_1.Config {
@@ -18,14 +19,14 @@ let MetricsModuleConfig = class MetricsModuleConfig extends config_1.Config {
18
19
  };
19
20
  exports.MetricsModuleConfig = MetricsModuleConfig;
20
21
  __decorate([
21
- (0, config_1.Property)('METRICS_ENABLED', new config_1.BoolParser(), {
22
+ (0, config_1.Property)('METRICS_ENABLED', new common_1.BoolParser(), {
22
23
  defaultValue: true,
23
24
  description: 'Enables or disables metrics all together',
24
25
  }),
25
26
  __metadata("design:type", Boolean)
26
27
  ], MetricsModuleConfig.prototype, "isEnabled", void 0);
27
28
  __decorate([
28
- (0, config_1.Property)('METRICS_INCLUDE_DEFAULT', new config_1.BoolParser(), {
29
+ (0, config_1.Property)('METRICS_INCLUDE_DEFAULT', new common_1.BoolParser(), {
29
30
  defaultValue: true,
30
31
  description: 'Indicates that default Node.js metrics should be included',
31
32
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.config.js","sourceRoot":"","sources":["../../src/metrics/metrics.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAwE;AACxE,yDAAmD;AAM5C,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAM;IAK7C,SAAS,CAAW;IAMpB,cAAc,CAAW;CAC1B,CAAA;AAZY,kDAAmB;AAK9B;IAJC,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,IAAI,mBAAU,EAAE,EAAE;QAC7C,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,0CAA0C;KACxD,CAAC;;sDACkB;AAMpB;IAJC,IAAA,iBAAQ,EAAC,yBAAyB,EAAE,IAAI,mBAAU,EAAE,EAAE;QACrD,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,2DAA2D;KACzE,CAAC;;2DACuB;8BAXd,mBAAmB;IAJ/B,IAAA,sBAAa,EAAC;QACb,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,CAAC,wBAAS,CAAC,cAAc,EAAE,wBAAS,CAAC,MAAM,CAAC;KACnD,CAAC;GACW,mBAAmB,CAY/B"}
1
+ {"version":3,"file":"metrics.config.js","sourceRoot":"","sources":["../../src/metrics/metrics.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA0C;AAE1C,sCAA4D;AAC5D,yDAAmD;AAM5C,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,eAAM;IAK7C,SAAS,CAAW;IAMpB,cAAc,CAAW;CAC1B,CAAA;AAZY,kDAAmB;AAK9B;IAJC,IAAA,iBAAQ,EAAC,iBAAiB,EAAE,IAAI,mBAAU,EAAE,EAAE;QAC7C,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,0CAA0C;KACxD,CAAC;;sDACkB;AAMpB;IAJC,IAAA,iBAAQ,EAAC,yBAAyB,EAAE,IAAI,mBAAU,EAAE,EAAE;QACrD,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,2DAA2D;KACzE,CAAC;;2DACuB;8BAXd,mBAAmB;IAJ/B,IAAA,sBAAa,EAAC;QACb,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,CAAC,wBAAS,CAAC,cAAc,EAAE,wBAAS,CAAC,MAAM,CAAC;KACnD,CAAC;GACW,mBAAmB,CAY/B"}
@@ -30,7 +30,7 @@ export declare class PlatformContext {
30
30
  constructor(options: PlatformOptions, strictnessOptions?: {
31
31
  skipAssertAppName?: boolean;
32
32
  forceAppName?: string;
33
- } | undefined);
33
+ } | undefined, silent?: boolean);
34
34
  get extendedOptions(): PlatformExtendedOptions;
35
35
  getRsdkMetadataProvider(): Promise<RsdkMetadataProvider>;
36
36
  getRoot(): Promise<DynamicModule>;
@@ -19,7 +19,7 @@ const types_1 = require("./types");
19
19
  class PlatformContext {
20
20
  options;
21
21
  strictnessOptions;
22
- logger = logging_1.LoggerFactory.create('App');
22
+ logger;
23
23
  microservices = new Map();
24
24
  httpTransport;
25
25
  aggregator;
@@ -33,13 +33,14 @@ class PlatformContext {
33
33
  * @param options
34
34
  * @param strictnessOptions
35
35
  */
36
- constructor(options, strictnessOptions) {
36
+ constructor(options, strictnessOptions, silent) {
37
37
  this.options = options;
38
38
  this.strictnessOptions = strictnessOptions;
39
39
  this.assertTransportCompatibility(options);
40
40
  this.assertPluginCompatibility(options);
41
41
  this.httpTransport = options.transports?.find?.(types_1.isHttpTransport);
42
42
  this.aggregator = new context_aggregator_1.ContextAggregator(this);
43
+ this.logger = silent ? new logging_1.NoopLogger() : logging_1.LoggerFactory.create('App');
43
44
  }
44
45
  get extendedOptions() {
45
46
  if (this._extendedOptions) {
@@ -1 +1 @@
1
- {"version":3,"file":"platform.context.js","sourceRoot":"","sources":["../src/platform.context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.context.js","sourceRoot":"","sources":["../src/platform.context.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ const plugin_module_1 = require("./plugin/plugin.module");
20
20
  const transport_module_1 = require("./transport/transport.module");
21
21
  const app_metadata_1 = require("./app-metadata");
22
22
  const config_1 = require("./config");
23
+ const exceptions_handling_1 = require("./exceptions.handling");
23
24
  const logging_1 = require("./logging");
24
25
  const tracing_1 = require("./tracing");
25
26
  const types_1 = require("./types");
@@ -31,19 +32,31 @@ let PlatformModule = PlatformModule_1 = class PlatformModule {
31
32
  static forRoot(options) {
32
33
  const imports = [
33
34
  /**
34
- * Последовательность принципиально важна так как в этом модуле происходит
35
- * инициализация глобального асинхронного контекста (AsyncLocalStorage)
35
+ * Последовательность принципиально важна так как от порядка подключения будет зависеть
36
+ * порядок отработки глобальных интерцепторов
36
37
  */
38
+ // Interceptor: инициализация асинхронного контекста
37
39
  actx_1.AsyncContextModule,
40
+ // Interceptor: Извлечение трассируемых заголовков из запроса
38
41
  tracing_1.TracingModule.forRoot(options),
39
- // Plugins
42
+ // Interceptor: LoggingInterceptor
43
+ logging_1.LoggingCoreModule.forRoot(options),
44
+ // Interceptor: Форматирование ошибок
45
+ exceptions_handling_1.GlobalExceptionsModule.forRoot(options),
46
+ // Interceptor: из конкретных реализаций транспортов (если есть)
47
+ transport_module_1.PlatformTransportModule.forOptions(options),
48
+ /**
49
+ * Далее порядок не важен, т. к. интерцепторов нет. Последовательность
50
+ * инициализации провайдеров Nest.js разрулит самостоятельно.
51
+ */
52
+ // Инициализация плагинов
40
53
  plugin_module_1.PlatformPluginModule.forOptions(options),
41
- // Infrastructure
54
+ // Метаданные сервиса
42
55
  app_metadata_1.AppMetadataModule.forRoot(options),
56
+ // Чтение и валидация конфигурации приложения
43
57
  config_1.PlatformConfigModule.forRoot(options),
44
- logging_1.LoggerInitializingModule,
58
+ // Прикладные модули
45
59
  ...(options.modules ?? []),
46
- transport_module_1.PlatformTransportModule.forOptions(options),
47
60
  ];
48
61
  const providers = [
49
62
  {
@@ -1 +1 @@
1
- {"version":3,"file":"platform.module.js","sourceRoot":"","sources":["../src/platform.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2CAAwC;AAExC,qCAAgD;AAGhD,0DAA8D;AAC9D,mEAAuE;AACvE,iDAAmD;AACnD,qCAAgD;AAChD,uCAAqD;AACrD,uCAA0C;AAE1C,mCAAsD;AAEtD,IAAa,cAAc,sBAA3B,MAAa,cAAc;IACgB;IAAzC,YAAyC,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAE5E,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,MAAM,OAAO,GAAoC;YAC/C;;;eAGG;YACH,yBAAkB;YAClB,uBAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAE9B,UAAU;YACV,oCAAoB,CAAC,UAAU,CAAC,OAAO,CAAC;YAExC,iBAAiB;YACjB,gCAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;YAClC,6BAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,kCAAwB;YACxB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YAC1B,0CAAuB,CAAC,UAAU,CAAC,OAAO,CAAC;SAC5C,CAAC;QAEF,MAAM,SAAS,GAAG;YAChB;gBACE,OAAO,EAAE,mBAAW;gBACpB,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;aACnC;YACD;gBACE,OAAO,EAAE,sBAAc;gBACvB,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;aACtC;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,SAAS;YACT,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF,CAAA;AAhDY,wCAAc;yBAAd,cAAc;IACZ,WAAA,IAAA,eAAM,EAAC,mBAAW,CAAC,CAAA;qCAAkB,GAAG;GAD1C,cAAc,CAgD1B"}
1
+ {"version":3,"file":"platform.module.js","sourceRoot":"","sources":["../src/platform.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2CAAwC;AAExC,qCAAgD;AAGhD,0DAA8D;AAC9D,mEAAuE;AACvE,iDAAmD;AACnD,qCAAgD;AAChD,+DAA+D;AAC/D,uCAA8C;AAC9C,uCAA0C;AAE1C,mCAAsD;AAEtD,IAAa,cAAc,sBAA3B,MAAa,cAAc;IACgB;IAAzC,YAAyC,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAE5E,MAAM,CAAC,OAAO,CAAC,OAAgC;QAC7C,MAAM,OAAO,GAAoC;YAC/C;;;eAGG;YAEH,oDAAoD;YACpD,yBAAkB;YAElB,6DAA6D;YAC7D,uBAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAE9B,kCAAkC;YAClC,2BAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;YAElC,qCAAqC;YACrC,4CAAsB,CAAC,OAAO,CAAC,OAAO,CAAC;YAEvC,gEAAgE;YAChE,0CAAuB,CAAC,UAAU,CAAC,OAAO,CAAC;YAE3C;;;eAGG;YAEH,yBAAyB;YACzB,oCAAoB,CAAC,UAAU,CAAC,OAAO,CAAC;YAExC,qBAAqB;YACrB,gCAAiB,CAAC,OAAO,CAAC,OAAO,CAAC;YAElC,6CAA6C;YAC7C,6BAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;YAErC,oBAAoB;YACpB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,CAAC;QAEF,MAAM,SAAS,GAAG;YAChB;gBACE,OAAO,EAAE,mBAAW;gBACpB,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;aACnC;YACD;gBACE,OAAO,EAAE,sBAAc;gBACvB,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;aACtC;SACF,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,SAAS;YACT,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF,CAAA;AApEY,wCAAc;yBAAd,cAAc;IACZ,WAAA,IAAA,eAAM,EAAC,mBAAW,CAAC,CAAA;qCAAkB,GAAG;GAD1C,cAAc,CAoE1B"}
@@ -1,14 +1,13 @@
1
- import type { TracingOptions } from './tracing.module';
2
1
  import type { TracingHeaderMappings } from './types';
3
2
  /**
4
3
  * Header mappings injection token
5
4
  */
6
5
  export declare const HEADER_MAPPINGS: unique symbol;
7
6
  /**
8
- * Default mappings for tracing headers
7
+ * Header extractors injection token
9
8
  */
10
- export declare const DEFAULT_TRACING_HEADERS: TracingHeaderMappings[];
9
+ export declare const HEADER_EXTRACTORS: unique symbol;
11
10
  /**
12
- * Default tracing options
11
+ * Default mappings for tracing headers
13
12
  */
14
- export declare const DEFAULT_TRACING_OPTIONS: TracingOptions;
13
+ export declare const REQUEST_ID_HEADERS: TracingHeaderMappings;
@@ -1,18 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_TRACING_OPTIONS = exports.DEFAULT_TRACING_HEADERS = exports.HEADER_MAPPINGS = void 0;
3
+ exports.REQUEST_ID_HEADERS = exports.HEADER_EXTRACTORS = exports.HEADER_MAPPINGS = void 0;
4
4
  /**
5
5
  * Header mappings injection token
6
6
  */
7
7
  exports.HEADER_MAPPINGS = Symbol('HEADER_MAPPINGS');
8
8
  /**
9
- * Default mappings for tracing headers
9
+ * Header extractors injection token
10
10
  */
11
- exports.DEFAULT_TRACING_HEADERS = [
12
- ['requestId', 'X-Request-Id', 'X-Requestid'],
13
- ];
11
+ exports.HEADER_EXTRACTORS = Symbol('HEADER_EXTRACTORS');
14
12
  /**
15
- * Default tracing options
13
+ * Default mappings for tracing headers
16
14
  */
17
- exports.DEFAULT_TRACING_OPTIONS = { includeDefault: true };
15
+ exports.REQUEST_ID_HEADERS = [
16
+ 'requestId',
17
+ 'X-Request-Id',
18
+ 'X-Requestid',
19
+ ];
18
20
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracing/constants.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEzD;;GAEG;AACU,QAAA,uBAAuB,GAA4B;IAC9D,CAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACU,QAAA,uBAAuB,GAAmB,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracing/constants.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAEzD;;GAEG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE7D;;GAEG;AACU,QAAA,kBAAkB,GAA0B;IACvD,WAAW;IACX,cAAc;IACd,aAAa;CACd,CAAC"}
@@ -2,3 +2,4 @@ export * from './tracing.module';
2
2
  export * from './tracing.actx';
3
3
  export * from './opentelemetry';
4
4
  export * from './types';
5
+ export * from './request-id';
@@ -18,4 +18,5 @@ __exportStar(require("./tracing.module"), exports);
18
18
  __exportStar(require("./tracing.actx"), exports);
19
19
  __exportStar(require("./opentelemetry"), exports);
20
20
  __exportStar(require("./types"), exports);
21
+ __exportStar(require("./request-id"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,iDAA+B;AAC/B,kDAAgC;AAChC,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,iDAA+B;AAC/B,kDAAgC;AAChC,0CAAwB;AACxB,+CAA6B"}
@@ -0,0 +1,4 @@
1
+ export * from './request-id-gen.decorator';
2
+ export * from './metadata.helpers';
3
+ export * from './types';
4
+ export * from './with-prefix.fn';
@@ -14,5 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./enum.parser"), exports);
17
+ __exportStar(require("./request-id-gen.decorator"), exports);
18
+ __exportStar(require("./metadata.helpers"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./with-prefix.fn"), exports);
18
21
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tracing/request-id/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,qDAAmC;AACnC,0CAAwB;AACxB,mDAAiC"}
@@ -0,0 +1,13 @@
1
+ import type { GenerateRequestId } from './types';
2
+ /**
3
+ * Sets the requestId generation strategy for a class
4
+ * @param {object} target - The target object to set the strategy on
5
+ * @param {GenerateRequestId} strategy - The strategy to use for generating requestIds
6
+ */
7
+ export declare const setStrategy: (target: object, strategy: GenerateRequestId) => void;
8
+ /**
9
+ * Gets the requestId generation strategy for a class
10
+ * @param {object} target - The target object to get the strategy from
11
+ * @returns {GenerateRequestId | undefined} The requestId generation strategy for the class
12
+ */
13
+ export declare const getStrategy: (target: object) => GenerateRequestId | undefined;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStrategy = exports.setStrategy = void 0;
4
+ const REQUEST_ID_GEN_STRATEGY_KEY = Symbol('REQUEST_ID_GEN_STRATEGY');
5
+ /**
6
+ * Sets the requestId generation strategy for a class
7
+ * @param {object} target - The target object to set the strategy on
8
+ * @param {GenerateRequestId} strategy - The strategy to use for generating requestIds
9
+ */
10
+ const setStrategy = (target, strategy) => {
11
+ Reflect.defineMetadata(REQUEST_ID_GEN_STRATEGY_KEY, strategy, target);
12
+ };
13
+ exports.setStrategy = setStrategy;
14
+ /**
15
+ * Gets the requestId generation strategy for a class
16
+ * @param {object} target - The target object to get the strategy from
17
+ * @returns {GenerateRequestId | undefined} The requestId generation strategy for the class
18
+ */
19
+ const getStrategy = (target) => {
20
+ return Reflect.getMetadata(REQUEST_ID_GEN_STRATEGY_KEY, target);
21
+ };
22
+ exports.getStrategy = getStrategy;
23
+ //# sourceMappingURL=metadata.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.helpers.js","sourceRoot":"","sources":["../../../src/tracing/request-id/metadata.helpers.ts"],"names":[],"mappings":";;;AAEA,MAAM,2BAA2B,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAEtE;;;;GAIG;AACI,MAAM,WAAW,GAAG,CACzB,MAAc,EACd,QAA2B,EACrB,EAAE;IACR,OAAO,CAAC,cAAc,CAAC,2BAA2B,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB;AAEF;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,MAAc,EAAiC,EAAE;IAC3E,OAAO,OAAO,CAAC,WAAW,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AAClE,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB"}
@@ -0,0 +1,8 @@
1
+ import type { GenerateRequestId } from './types';
2
+ /**
3
+ * Decorator that sets the requestId generation strategy for
4
+ * all controller methods
5
+ * @param {GenerateRequestId} strategy - The strategy to use for generating requestIds
6
+ * @returns {ClassDecorator} A decorator that sets the requestId generation strategy for a class
7
+ */
8
+ export declare const RequestIdGenStrategy: (strategy: GenerateRequestId) => ClassDecorator;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestIdGenStrategy = void 0;
4
+ const metadata_helpers_1 = require("./metadata.helpers");
5
+ /**
6
+ * Decorator that sets the requestId generation strategy for
7
+ * all controller methods
8
+ * @param {GenerateRequestId} strategy - The strategy to use for generating requestIds
9
+ * @returns {ClassDecorator} A decorator that sets the requestId generation strategy for a class
10
+ */
11
+ const RequestIdGenStrategy = (strategy) => {
12
+ return (target) => {
13
+ (0, metadata_helpers_1.setStrategy)(target, strategy);
14
+ };
15
+ };
16
+ exports.RequestIdGenStrategy = RequestIdGenStrategy;
17
+ //# sourceMappingURL=request-id-gen.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-id-gen.decorator.js","sourceRoot":"","sources":["../../../src/tracing/request-id/request-id-gen.decorator.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAGjD;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAClC,QAA2B,EACX,EAAE;IAClB,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,IAAA,8BAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B"}
@@ -0,0 +1,2 @@
1
+ import type { ExecutionContext } from '@nestjs/common';
2
+ export type GenerateRequestId = (ctx: ExecutionContext, protocol: string) => string;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tracing/request-id/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { GenerateRequestId } from './types';
2
+ /**
3
+ * Generates a random hex string of the given length
4
+ * @param {number} length - The length of the random hex string to generate
5
+ * @returns {string} A random hex string of the given length
6
+ */
7
+ export declare const randomHex: (length: number) => string;
8
+ /**
9
+ * Default length of the generated requestId
10
+ * random bytes part
11
+ */
12
+ export declare const DEFAULT_LENGTH = 8;
13
+ /**
14
+ * Default prefix of the generated requestId
15
+ */
16
+ export declare const DEFAULT_PREFIX = "gen";
17
+ /**
18
+ * Creates a function that generates a requestId with
19
+ * a static prefix and a random bytes part.
20
+ * Ex: {prefix}:{randomHex(length)}
21
+ *
22
+ * @param {string} [prefix=DEFAULT_PREFIX] - The prefix to use for the generated requestId.
23
+ * @param {number} [length=DEFAULT_LENGTH] - The length of the random bytes part of the requestId.
24
+ * @returns {GenerateRequestId} A function that generates a requestId in the format {prefix}:{randomHex(length)}.
25
+ */
26
+ export declare const withPrefix: (prefix?: string, length?: number) => GenerateRequestId;
27
+ /**
28
+ * Default requestId generator function
29
+ */
30
+ export declare const generateDefault: GenerateRequestId;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateDefault = exports.withPrefix = exports.DEFAULT_PREFIX = exports.DEFAULT_LENGTH = exports.randomHex = void 0;
4
+ const node_crypto_1 = require("node:crypto");
5
+ /**
6
+ * Generates a random hex string of the given length
7
+ * @param {number} length - The length of the random hex string to generate
8
+ * @returns {string} A random hex string of the given length
9
+ */
10
+ const randomHex = (length) => (0, node_crypto_1.randomBytes)(length).toString('hex');
11
+ exports.randomHex = randomHex;
12
+ /**
13
+ * Default length of the generated requestId
14
+ * random bytes part
15
+ */
16
+ exports.DEFAULT_LENGTH = 8;
17
+ /**
18
+ * Default prefix of the generated requestId
19
+ */
20
+ exports.DEFAULT_PREFIX = 'gen';
21
+ /**
22
+ * Creates a function that generates a requestId with
23
+ * a static prefix and a random bytes part.
24
+ * Ex: {prefix}:{randomHex(length)}
25
+ *
26
+ * @param {string} [prefix=DEFAULT_PREFIX] - The prefix to use for the generated requestId.
27
+ * @param {number} [length=DEFAULT_LENGTH] - The length of the random bytes part of the requestId.
28
+ * @returns {GenerateRequestId} A function that generates a requestId in the format {prefix}:{randomHex(length)}.
29
+ */
30
+ const withPrefix = (prefix = exports.DEFAULT_PREFIX, length = exports.DEFAULT_LENGTH) => () => `${prefix}:${(0, exports.randomHex)(length)}`;
31
+ exports.withPrefix = withPrefix;
32
+ /**
33
+ * Default requestId generator function
34
+ */
35
+ exports.generateDefault = (0, exports.withPrefix)();
36
+ //# sourceMappingURL=with-prefix.fn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-prefix.fn.js","sourceRoot":"","sources":["../../../src/tracing/request-id/with-prefix.fn.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAI1C;;;;GAIG;AACI,MAAM,SAAS,GAAG,CAAC,MAAc,EAAU,EAAE,CAClD,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AADzB,QAAA,SAAS,aACgB;AAEtC;;;GAGG;AACU,QAAA,cAAc,GAAG,CAAC,CAAC;AAEhC;;GAEG;AACU,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC;;;;;;;;GAQG;AACI,MAAM,UAAU,GACrB,CACE,SAAiB,sBAAc,EAC/B,SAAiB,sBAAc,EACZ,EAAE,CACvB,GAAG,EAAE,CACH,GAAG,MAAM,IAAI,IAAA,iBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;AANxB,QAAA,UAAU,cAMc;AAErC;;GAEG;AACU,QAAA,eAAe,GAAG,IAAA,kBAAU,GAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Config } from '../config';
2
+ export declare class TracingConfig extends Config {
3
+ traceRequestId: boolean;
4
+ autogenerate: boolean;
5
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TracingConfig = void 0;
13
+ const common_1 = require("@rsdk/common");
14
+ const config_1 = require("../config");
15
+ const config_const_1 = require("../config/config.const");
16
+ let TracingConfig = class TracingConfig extends config_1.Config {
17
+ traceRequestId;
18
+ autogenerate;
19
+ };
20
+ exports.TracingConfig = TracingConfig;
21
+ __decorate([
22
+ (0, config_1.Property)('TRACING_REQUEST_ID', new common_1.BoolParser(), {
23
+ description: 'Add requestId (X-Request-ID) tracing',
24
+ defaultValue: true,
25
+ }),
26
+ __metadata("design:type", Boolean)
27
+ ], TracingConfig.prototype, "traceRequestId", void 0);
28
+ __decorate([
29
+ (0, config_1.Property)('TRACING_REQUEST_ID_AUTOGENERATE', new common_1.BoolParser(), {
30
+ description: (0, common_1.text) `
31
+ Automatically generate requestId (correlationId) if it
32
+ is not set in the headers. It will be created as
33
+ some random bytes (hex) string with "gen:" prefix.
34
+ `,
35
+ defaultValue: false,
36
+ }),
37
+ __metadata("design:type", Boolean)
38
+ ], TracingConfig.prototype, "autogenerate", void 0);
39
+ exports.TracingConfig = TracingConfig = __decorate([
40
+ (0, config_1.ConfigSection)({ tags: [config_const_1.ConfigTag.tracing] })
41
+ ], TracingConfig);
42
+ //# sourceMappingURL=tracing.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.config.js","sourceRoot":"","sources":["../../src/tracing/tracing.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAgD;AAEhD,sCAA4D;AAC5D,yDAAmD;AAG5C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,eAAM;IAKvC,cAAc,CAAW;IAUzB,YAAY,CAAW;CACxB,CAAA;AAhBY,sCAAa;AAKxB;IAJC,IAAA,iBAAQ,EAAC,oBAAoB,EAAE,IAAI,mBAAU,EAAE,EAAE;QAChD,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,IAAI;KACnB,CAAC;;qDACuB;AAUzB;IARC,IAAA,iBAAQ,EAAC,iCAAiC,EAAE,IAAI,mBAAU,EAAE,EAAE;QAC7D,WAAW,EAAE,IAAA,aAAI,EAAA;;;;KAIhB;QACD,YAAY,EAAE,KAAK;KACpB,CAAC;;mDACqB;wBAfZ,aAAa;IADzB,IAAA,sBAAa,EAAC,EAAE,IAAI,EAAE,CAAC,wBAAS,CAAC,OAAO,CAAC,EAAE,CAAC;GAChC,aAAa,CAgBzB"}
@@ -2,7 +2,8 @@ import type { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/com
2
2
  import type { Observable } from 'rxjs';
3
3
  import { ILogger } from '../logging';
4
4
  import { ProtocolDetector } from '../transport/protocol.detector';
5
- import type { ITransport, PlatformAppPlugin } from '../types';
5
+ import type { WithGenericHeaders } from '../types';
6
+ import { TracingConfig } from './tracing.config';
6
7
  import type { TracingHeaderMappings } from './types';
7
8
  /**
8
9
  * Extracts headers that should be passed to all logging messages
@@ -10,15 +11,12 @@ import type { TracingHeaderMappings } from './types';
10
11
  */
11
12
  export declare class TracingInterceptor implements NestInterceptor {
12
13
  private logger;
13
- private transports;
14
- private plugins;
15
14
  private mappings;
16
- private detector;
17
- /**
18
- * Extractors can be either transports or additional strategies
19
- * supplied by plugins
20
- */
21
15
  private readonly extractors;
22
- constructor(logger: ILogger, transports: Set<ITransport>, plugins: Set<PlatformAppPlugin>, mappings: TracingHeaderMappings[], detector: ProtocolDetector);
16
+ private readonly detector;
17
+ private readonly config;
18
+ constructor(logger: ILogger, mappings: TracingHeaderMappings[], extractors: Map<string, WithGenericHeaders>, detector: ProtocolDetector, config: TracingConfig);
23
19
  intercept(ctx: ExecutionContext, next: CallHandler): Observable<any>;
20
+ private extractHeaders;
21
+ private generateRequestId;
24
22
  }