@mondart/nestjs-common-module-core 3.2.8 → 3.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/filters/global-exception.filter.d.ts +3 -1
- package/dist/filters/global-exception.filter.d.ts.map +1 -1
- package/dist/filters/global-exception.filter.js +27 -5
- package/dist/filters/global-exception.filter.js.map +1 -1
- package/dist/helpers/graceful-shutdown.helper.d.ts.map +1 -1
- package/dist/helpers/graceful-shutdown.helper.js +8 -2
- package/dist/helpers/graceful-shutdown.helper.js.map +1 -1
- package/dist/interceptors/index.d.ts +1 -0
- package/dist/interceptors/index.d.ts.map +1 -1
- package/dist/interceptors/index.js +1 -0
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/kafka-trace-context.interceptor.d.ts +8 -0
- package/dist/interceptors/kafka-trace-context.interceptor.d.ts.map +1 -0
- package/dist/interceptors/kafka-trace-context.interceptor.js +83 -0
- package/dist/interceptors/kafka-trace-context.interceptor.js.map +1 -0
- package/dist/interfaces/custom-validation-arguments.interface.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,6 +23,14 @@ app.useGlobalPipes(new I18nValidationPipe(validationOptions));
|
|
|
23
23
|
app.useGlobalFilters(new GlobalExceptionFilter(true)); // true = report to Sentry
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
By default, Sentry reporting ignores HTTP status codes `400`, `401`, `403`,
|
|
27
|
+
`404`, and `422`. Pass a second argument to replace that list (including an
|
|
28
|
+
empty array to report every non-validation exception):
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
app.useGlobalFilters(new GlobalExceptionFilter(true, [400, 404]));
|
|
32
|
+
```
|
|
33
|
+
|
|
26
34
|
`GlobalExceptionFilter` catches everything — Nest's built-in exceptions,
|
|
27
35
|
package-local exceptions (e.g. `TooManyRequestsException`), plain errors, and
|
|
28
36
|
`I18nValidationException` — and always responds with the same `ErrorResponse`
|
|
@@ -3,10 +3,12 @@ import { Response } from 'express';
|
|
|
3
3
|
export declare class GlobalExceptionFilter implements ExceptionFilter {
|
|
4
4
|
private readonly logger;
|
|
5
5
|
private readonly sentryEnable;
|
|
6
|
-
|
|
6
|
+
private readonly sentryIgnoredExceptionCodes;
|
|
7
|
+
constructor(sentryEnable?: boolean, sentryIgnoredExceptionCodes?: readonly number[]);
|
|
7
8
|
catch(exception: any, host: ArgumentsHost): import("rxjs").Observable<never> | Response<any, Record<string, any>>;
|
|
8
9
|
private isObject;
|
|
9
10
|
private isArray;
|
|
11
|
+
private isExpectedHealthCheckFailure;
|
|
10
12
|
private handleI18nValidationException;
|
|
11
13
|
private flattenValidationErrors;
|
|
12
14
|
private translateValidationConstraints;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,eAAe,EAKhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"global-exception.filter.d.ts","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,eAAe,EAKhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAmCnC,qBACa,qBAAsB,YAAW,eAAe;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAEpB;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAsB;gBAOhE,YAAY,GAAE,OAAe,EAC7B,2BAA2B,GAAE,SAAS,MAAM,EAAoC;IAMlF,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa;IAyIzC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,4BAA4B;IAoBpC,OAAO,CAAC,6BAA6B;IA4BrC,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;CAiC3B"}
|
|
@@ -52,20 +52,32 @@ const exceptions = __importStar(require("@nestjs/common/exceptions"));
|
|
|
52
52
|
const customExceptions = __importStar(require("../exceptions"));
|
|
53
53
|
const Sentry = __importStar(require("@sentry/nestjs"));
|
|
54
54
|
const nestjs_i18n_1 = require("nestjs-i18n");
|
|
55
|
+
const DEFAULT_IGNORED_EXCEPTION_CODES = [
|
|
56
|
+
common_1.HttpStatus.BAD_REQUEST,
|
|
57
|
+
common_1.HttpStatus.UNAUTHORIZED,
|
|
58
|
+
common_1.HttpStatus.FORBIDDEN,
|
|
59
|
+
common_1.HttpStatus.NOT_FOUND,
|
|
60
|
+
common_1.HttpStatus.UNPROCESSABLE_ENTITY,
|
|
61
|
+
];
|
|
55
62
|
let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
56
|
-
constructor(sentryEnable = false) {
|
|
63
|
+
constructor(sentryEnable = false, sentryIgnoredExceptionCodes = DEFAULT_IGNORED_EXCEPTION_CODES) {
|
|
57
64
|
this.logger = new common_1.Logger('GlobalExceptionFilter', {
|
|
58
65
|
timestamp: true,
|
|
59
66
|
});
|
|
60
67
|
this.sentryEnable = sentryEnable;
|
|
68
|
+
this.sentryIgnoredExceptionCodes = new Set(sentryIgnoredExceptionCodes);
|
|
61
69
|
}
|
|
62
70
|
catch(exception, host) {
|
|
63
71
|
const type = host?.getType();
|
|
64
72
|
const isI18nValidationException = exception instanceof nestjs_i18n_1.I18nValidationException;
|
|
73
|
+
const isExpectedHealthCheckFailure = this.isExpectedHealthCheckFailure(exception, host);
|
|
65
74
|
const messageKey = isI18nValidationException
|
|
66
75
|
? undefined
|
|
67
76
|
: this.translateException(exception, host);
|
|
68
|
-
if (this.sentryEnable &&
|
|
77
|
+
if (this.sentryEnable &&
|
|
78
|
+
!isI18nValidationException &&
|
|
79
|
+
!isExpectedHealthCheckFailure &&
|
|
80
|
+
!this.sentryIgnoredExceptionCodes.has(exception?.getStatus?.()))
|
|
69
81
|
Sentry.captureException(exception, exception?.response);
|
|
70
82
|
const context = host.switchToHttp();
|
|
71
83
|
const message = typeof exception?.message === 'string'
|
|
@@ -78,8 +90,10 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
78
90
|
exception?.message?.length !== 0)
|
|
79
91
|
? JSON.stringify(exception?.message)
|
|
80
92
|
: 'Unknown exception occurred.';
|
|
81
|
-
|
|
82
|
-
|
|
93
|
+
if (!isExpectedHealthCheckFailure) {
|
|
94
|
+
this.logger.error(`exceptionName: ${exception?.name} - ${message}`);
|
|
95
|
+
this.logger.debug(exception?.stack);
|
|
96
|
+
}
|
|
83
97
|
const nestExceptionsArray = Object.values(exceptions);
|
|
84
98
|
const customExceptionsArray = Object.values(customExceptions);
|
|
85
99
|
const exceptionsName = [
|
|
@@ -161,6 +175,14 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
161
175
|
isArray(value) {
|
|
162
176
|
return value !== null && typeof value === 'object' && Array.isArray(value);
|
|
163
177
|
}
|
|
178
|
+
isExpectedHealthCheckFailure(exception, host) {
|
|
179
|
+
if (host?.getType() !== 'http' || exception?.getStatus?.() !== 503) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
const request = host.switchToHttp().getRequest();
|
|
183
|
+
const path = request?.originalUrl ?? request?.url ?? '';
|
|
184
|
+
return /\/health-check\/(?:live|ready|database|http|redis|bull|kafka)(?:[/?#]|$)/.test(path);
|
|
185
|
+
}
|
|
164
186
|
handleI18nValidationException(exception, host, response) {
|
|
165
187
|
const i18n = nestjs_i18n_1.I18nContext.current(host) ?? nestjs_i18n_1.I18nContext.current();
|
|
166
188
|
const status = exception.getStatus?.() ?? common_1.HttpStatus.BAD_REQUEST;
|
|
@@ -226,6 +248,6 @@ let GlobalExceptionFilter = class GlobalExceptionFilter {
|
|
|
226
248
|
exports.GlobalExceptionFilter = GlobalExceptionFilter;
|
|
227
249
|
exports.GlobalExceptionFilter = GlobalExceptionFilter = __decorate([
|
|
228
250
|
(0, common_1.Catch)(),
|
|
229
|
-
__metadata("design:paramtypes", [Boolean])
|
|
251
|
+
__metadata("design:paramtypes", [Boolean, Array])
|
|
230
252
|
], GlobalExceptionFilter);
|
|
231
253
|
//# sourceMappingURL=global-exception.filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAQwB;AAExB,+BAAkC;AAClC,gCAAuC;AACvC,oCAAgE;AAChE,wCAIoB;AACpB,sEAAwD;AACxD,gEAAkD;AAClD,uDAAyC;AACzC,6CAIqB;
|
|
1
|
+
{"version":3,"file":"global-exception.filter.js","sourceRoot":"","sources":["../../src/filters/global-exception.filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graceful-shutdown.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/graceful-shutdown.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,MAAM,EAGP,MAAM,gBAAgB,CAAC;AAYxB,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,2BAA2B,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,aAAa,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,WAAW,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;
|
|
1
|
+
{"version":3,"file":"graceful-shutdown.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/graceful-shutdown.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,MAAM,EAGP,MAAM,gBAAgB,CAAC;AAYxB,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,2BAA2B,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,aAAa,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,WAAW,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAoED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAS3C,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,uBAA4B,GACpC,0BAA0B;IA8J7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA+FnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC,OAAO,CAAC,MAAM,CAAC,UAAU;IAQzB,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAclC,OAAO,CAAC,MAAM,CAAC,kBAAkB;mBAWZ,SAAS;CAO/B"}
|
|
@@ -14,7 +14,7 @@ class TransportActivityInterceptor {
|
|
|
14
14
|
intercept(context, next) {
|
|
15
15
|
if (context.getType() === 'http')
|
|
16
16
|
return next.handle();
|
|
17
|
-
if (this.isDraining()) {
|
|
17
|
+
if (this.isDraining() && context.getType() !== 'rpc') {
|
|
18
18
|
return (0, rxjs_1.throwError)(() => new common_1.ServiceUnavailableException('Service is shutting down'));
|
|
19
19
|
}
|
|
20
20
|
this.active += 1;
|
|
@@ -168,7 +168,13 @@ class GracefulShutdownHelper {
|
|
|
168
168
|
if (microserviceServers.length > 0) {
|
|
169
169
|
participants.push({
|
|
170
170
|
name: 'Kafka/microservice',
|
|
171
|
-
stopAccepting: () => Promise.all(microserviceServers.map((server) =>
|
|
171
|
+
stopAccepting: () => Promise.all(microserviceServers.map((server) => {
|
|
172
|
+
if (server.consumer &&
|
|
173
|
+
typeof server.consumer.stop === 'function') {
|
|
174
|
+
return server.consumer.stop();
|
|
175
|
+
}
|
|
176
|
+
return server.close();
|
|
177
|
+
})).then(() => undefined),
|
|
172
178
|
});
|
|
173
179
|
}
|
|
174
180
|
const queueResources = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graceful-shutdown.helper.js","sourceRoot":"","sources":["../../src/helpers/graceful-shutdown.helper.ts"],"names":[],"mappings":";;;AAAA,2CAOwB;AACxB,uCAAgD;AAEhD,+BAAwD;AA8BxD,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,4BAA4B,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"graceful-shutdown.helper.js","sourceRoot":"","sources":["../../src/helpers/graceful-shutdown.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./global-logger.interceptor"), exports);
|
|
18
|
+
__exportStar(require("./kafka-trace-context.interceptor"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interceptors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,oEAAkD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export declare class KafkaTraceContextInterceptor implements NestInterceptor {
|
|
4
|
+
private readonly serviceName;
|
|
5
|
+
constructor(serviceName: string);
|
|
6
|
+
intercept(context: ExecutionContext, next: CallHandler): Observable<unknown>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=kafka-trace-context.interceptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka-trace-context.interceptor.d.ts","sourceRoot":"","sources":["../../src/interceptors/kafka-trace-context.interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAEhB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAS,MAAM,MAAM,CAAC;AAGzC,qBACa,4BAA6B,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,MAAM;IAEhD,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;CA0B7E"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
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
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.KafkaTraceContextInterceptor = void 0;
|
|
46
|
+
const common_1 = require("@nestjs/common");
|
|
47
|
+
const microservices_1 = require("@nestjs/microservices");
|
|
48
|
+
const Sentry = __importStar(require("@sentry/nestjs"));
|
|
49
|
+
const rxjs_1 = require("rxjs");
|
|
50
|
+
let KafkaTraceContextInterceptor = class KafkaTraceContextInterceptor {
|
|
51
|
+
constructor(serviceName) {
|
|
52
|
+
this.serviceName = serviceName;
|
|
53
|
+
}
|
|
54
|
+
intercept(context, next) {
|
|
55
|
+
return (0, rxjs_1.defer)(() => {
|
|
56
|
+
if (context.getType() === 'rpc') {
|
|
57
|
+
const kafka = context.switchToRpc().getContext();
|
|
58
|
+
if (kafka instanceof microservices_1.KafkaContext) {
|
|
59
|
+
const span = Sentry.getActiveSpan();
|
|
60
|
+
if (span) {
|
|
61
|
+
const attributes = {
|
|
62
|
+
'service.name': this.serviceName,
|
|
63
|
+
'service.instance.id': process.env.SWARM_TASK_ID || process.env.HOSTNAME || 'unknown',
|
|
64
|
+
'messaging.system': 'kafka',
|
|
65
|
+
'messaging.destination.name': kafka.getTopic(),
|
|
66
|
+
'messaging.destination.partition.id': String(kafka.getPartition()),
|
|
67
|
+
'messaging.kafka.offset': kafka.getMessage().offset,
|
|
68
|
+
};
|
|
69
|
+
span.setAttributes(attributes);
|
|
70
|
+
Sentry.getRootSpan(span).setAttributes(attributes);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return next.handle();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
exports.KafkaTraceContextInterceptor = KafkaTraceContextInterceptor;
|
|
79
|
+
exports.KafkaTraceContextInterceptor = KafkaTraceContextInterceptor = __decorate([
|
|
80
|
+
(0, common_1.Injectable)(),
|
|
81
|
+
__metadata("design:paramtypes", [String])
|
|
82
|
+
], KafkaTraceContextInterceptor);
|
|
83
|
+
//# sourceMappingURL=kafka-trace-context.interceptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kafka-trace-context.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/kafka-trace-context.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAKwB;AACxB,yDAAqD;AACrD,uDAAyC;AACzC,+BAAyC;AAIlC,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACvC,YAA6B,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAEpD,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,OAAO,IAAA,YAAK,EAAC,GAAG,EAAE;YAChB,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;gBACjD,IAAI,KAAK,YAAY,4BAAY,EAAE,CAAC;oBAClC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;oBACpC,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,UAAU,GAAG;4BACjB,cAAc,EAAE,IAAI,CAAC,WAAW;4BAChC,qBAAqB,EACnB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS;4BAChE,kBAAkB,EAAE,OAAO;4BAC3B,4BAA4B,EAAE,KAAK,CAAC,QAAQ,EAAE;4BAC9C,oCAAoC,EAAE,MAAM,CAC1C,KAAK,CAAC,YAAY,EAAE,CACrB;4BACD,wBAAwB,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM;yBACpD,CAAC;wBACF,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;wBAC/B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA7BY,oEAA4B;uCAA5B,4BAA4B;IADxC,IAAA,mBAAU,GAAE;;GACA,4BAA4B,CA6BxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-validation-arguments.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/custom-validation-arguments.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAE7G,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,WAAW,EAAE,0BAA0B,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AACD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"custom-validation-arguments.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/custom-validation-arguments.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,+DAA+D,CAAC;AAE7G,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,WAAW,EAAE,0BAA0B,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AACD,MAAM,WAAW,kCAAmC,SAAQ,4BAA4B;IACtF,QAAQ,CACN,KAAK,EAAE,GAAG,EACV,mBAAmB,CAAC,EAAE,yBAAyB,GAC9C,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/B"}
|