@rsdk/grpc.server 5.7.0-next.6 → 6.0.0-next.1

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 (40) hide show
  1. package/dist/controllers/health.controller.js +2 -0
  2. package/dist/controllers/health.controller.js.map +1 -1
  3. package/dist/controllers/metrics.controller.js +2 -0
  4. package/dist/controllers/metrics.controller.js.map +1 -1
  5. package/dist/controllers/reflection/v1.base.controller.js +17 -7
  6. package/dist/controllers/reflection/v1.base.controller.js.map +1 -1
  7. package/dist/{grpc-errors.formatter.d.ts → error-handling/grpc-errors.formatter.d.ts} +1 -1
  8. package/dist/{grpc-errors.formatter.js → error-handling/grpc-errors.formatter.js} +18 -8
  9. package/dist/error-handling/grpc-errors.formatter.js.map +1 -0
  10. package/dist/{grpc-errors.sender.d.ts → error-handling/grpc-errors.sender.d.ts} +1 -1
  11. package/dist/{grpc-errors.sender.js → error-handling/grpc-errors.sender.js} +1 -1
  12. package/dist/error-handling/grpc-errors.sender.js.map +1 -0
  13. package/dist/error-handling/index.d.ts +2 -0
  14. package/dist/error-handling/index.js +19 -0
  15. package/dist/error-handling/index.js.map +1 -0
  16. package/dist/grpc.config.d.ts +0 -1
  17. package/dist/grpc.config.js +0 -8
  18. package/dist/grpc.config.js.map +1 -1
  19. package/dist/grpc.log-formatter.d.ts +8 -0
  20. package/dist/grpc.log-formatter.js +23 -0
  21. package/dist/grpc.log-formatter.js.map +1 -0
  22. package/dist/grpc.transport.d.ts +7 -6
  23. package/dist/grpc.transport.js +14 -23
  24. package/dist/grpc.transport.js.map +1 -1
  25. package/package.json +4 -3
  26. package/src/controllers/health.controller.ts +2 -0
  27. package/src/controllers/metrics.controller.ts +2 -0
  28. package/src/{grpc-errors.formatter.ts → error-handling/grpc-errors.formatter.ts} +2 -2
  29. package/src/{grpc-errors.sender.ts → error-handling/grpc-errors.sender.ts} +2 -2
  30. package/src/error-handling/index.ts +2 -0
  31. package/src/grpc.config.ts +0 -6
  32. package/src/grpc.log-formatter.ts +31 -0
  33. package/src/grpc.transport.ts +14 -21
  34. package/src/reflection.service.spec.ts +6 -0
  35. package/dist/grpc-errors.formatter.js.map +0 -1
  36. package/dist/grpc-errors.sender.js.map +0 -1
  37. package/dist/grpc-logger.interceptor.d.ts +0 -13
  38. package/dist/grpc-logger.interceptor.js +0 -89
  39. package/dist/grpc-logger.interceptor.js.map +0 -1
  40. package/src/grpc-logger.interceptor.ts +0 -88
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.HealthController = void 0;
16
16
  const grpc_health_v1_1 = require("@rsdk/builtin-contract/dist/grpc.health.v1");
17
17
  const core_1 = require("@rsdk/core");
18
+ const zones_1 = require("@rsdk/zones");
18
19
  let HealthController = class HealthController {
19
20
  logger;
20
21
  health;
@@ -48,6 +49,7 @@ let HealthController = class HealthController {
48
49
  };
49
50
  exports.HealthController = HealthController;
50
51
  exports.HealthController = HealthController = __decorate([
52
+ (0, zones_1.Internal)(),
51
53
  (0, grpc_health_v1_1.HealthGrpcMethods)(),
52
54
  __param(0, (0, core_1.InjectLogger)(HealthController)),
53
55
  __metadata("design:paramtypes", [Object, core_1.HealthChecksService])
@@ -1 +1 @@
1
- {"version":3,"file":"health.controller.js","sourceRoot":"","sources":["../../src/controllers/health.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,+EAGoD;AAEpD,qCAIoB;AAKb,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAEwB;IAChC;IAFnB,YACmD,MAAe,EAC/C,MAA2B;QADK,WAAM,GAAN,MAAM,CAAS;QAC/C,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAsB;QACzC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,iDAAgC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAkB,CAAC,CAAC;YAE5D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,wBAAiB,CAAC,kCAAkC,CAAC,CAAC;IAClE,CAAC;CACF,CAAA;AAhCY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,kCAAiB,GAAE;IAGf,WAAA,IAAA,mBAAY,EAAC,gBAAgB,CAAC,CAAA;6CACN,0BAAmB;GAHnC,gBAAgB,CAgC5B"}
1
+ {"version":3,"file":"health.controller.js","sourceRoot":"","sources":["../../src/controllers/health.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,+EAGoD;AAEpD,qCAIoB;AAEpB,uCAAuC;AAKhC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAEwB;IAChC;IAFnB,YACmD,MAAe,EAC/C,MAA2B;QADK,WAAM,GAAN,MAAM,CAAS;QAC/C,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAsB;QACzC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,iDAAgC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAkB,CAAC,CAAC;YAE5D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK;QACH,MAAM,IAAI,wBAAiB,CAAC,kCAAkC,CAAC,CAAC;IAClE,CAAC;CACF,CAAA;AAhCY,4CAAgB;2BAAhB,gBAAgB;IAF5B,IAAA,gBAAQ,GAAE;IACV,IAAA,kCAAiB,GAAE;IAGf,WAAA,IAAA,mBAAY,EAAC,gBAAgB,CAAC,CAAA;6CACN,0BAAmB;GAHnC,gBAAgB,CAgC5B"}
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.MetricsController = void 0;
10
10
  const grpc_metrics_v1_1 = require("@rsdk/builtin-contract/dist/grpc.metrics.v1");
11
11
  const core_1 = require("@rsdk/core");
12
+ const zones_1 = require("@rsdk/zones");
12
13
  let MetricsController = class MetricsController {
13
14
  async get() {
14
15
  const metrics = await core_1.register.metrics();
@@ -17,6 +18,7 @@ let MetricsController = class MetricsController {
17
18
  };
18
19
  exports.MetricsController = MetricsController;
19
20
  exports.MetricsController = MetricsController = __decorate([
21
+ (0, zones_1.Internal)(),
20
22
  (0, grpc_metrics_v1_1.MetricsGrpcMethods)()
21
23
  ], MetricsController);
22
24
  //# sourceMappingURL=metrics.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.controller.js","sourceRoot":"","sources":["../../src/controllers/metrics.controller.ts"],"names":[],"mappings":";;;;;;;;;AAIA,iFAAiF;AACjF,qCAAsC;AAG/B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,MAAM,eAAQ,CAAC,OAAO,EAAE,CAAC;QAEzC,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;CACF,CAAA;AANY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,oCAAkB,GAAE;GACR,iBAAiB,CAM7B"}
1
+ {"version":3,"file":"metrics.controller.js","sourceRoot":"","sources":["../../src/controllers/metrics.controller.ts"],"names":[],"mappings":";;;;;;;;;AAIA,iFAAiF;AACjF,qCAAsC;AACtC,uCAAuC;AAIhC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,MAAM,eAAQ,CAAC,OAAO,EAAE,CAAC;QAEzC,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;CACF,CAAA;AANY,8CAAiB;4BAAjB,iBAAiB;IAF7B,IAAA,gBAAQ,GAAE;IACV,IAAA,oCAAkB,GAAE;GACR,iBAAiB,CAM7B"}
@@ -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
  };
@@ -1 +1 @@
1
- {"version":3,"file":"v1.base.controller.js","sourceRoot":"","sources":["../../../src/controllers/reflection/v1.base.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v1.base.controller.js","sourceRoot":"","sources":["../../../src/controllers/reflection/v1.base.controller.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { IErrorsFormatter } from '@rsdk/core';
2
2
  import { ExceptionKind } from '@rsdk/core';
3
- import type { FormattedGrpcError } from './types';
3
+ import type { FormattedGrpcError } from '../types';
4
4
  export declare class GrpcErrorsFormatter implements IErrorsFormatter {
5
5
  static readonly defaultKind = ExceptionKind.UNKNOWN;
6
6
  protocol: string;
@@ -15,18 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.GrpcErrorsFormatter = void 0;
27
37
  const grpc = __importStar(require("@grpc/grpc-js"));
28
38
  const core_1 = require("@rsdk/core");
29
- const constants_1 = require("./constants");
39
+ const constants_1 = require("../constants");
30
40
  class GrpcErrorsFormatter {
31
41
  static defaultKind = core_1.ExceptionKind.UNKNOWN;
32
42
  protocol = constants_1.GRPC_PROTOCOL;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-errors.formatter.js","sourceRoot":"","sources":["../../src/error-handling/grpc-errors.formatter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,qCAA8D;AAE9D,4CAA6C;AAG7C,MAAa,mBAAmB;IAC9B,MAAM,CAAU,WAAW,GAAG,oBAAa,CAAC,OAAO,CAAC;IACpD,QAAQ,GAAG,yBAAa,CAAC;IACR,SAAS,GAAuC;QAC/D,CAAC,oBAAa,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;QAC3D,CAAC,oBAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAC1D,CAAC,oBAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;QACzD,CAAC,oBAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;QACnD,CAAC,oBAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QACtD,CAAC,oBAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9C,CAAC,oBAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;QACvD,CAAC,oBAAa,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QAChD,CAAC,oBAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACpD,CAAC,oBAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;KAC7C,CAAC;IAEF,MAAM,CAAC,EAAW,EAAE,aAAuB;QACzC,IAAI,EAAE,YAAY,wBAAiB,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,aAAa;gBAC3B,CAAC,CAAC;oBACE,EAAE,CAAC,OAAO;oBACV,GAAG,wBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACrD;iBACF,CAAC,IAAI,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,oBAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEtC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC7B,OAAO;gBACP,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE;gBACzB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;aAClC,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,eAAe,CAAC;QAEzC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC;YACrD,OAAO,EAAE,aAAa;gBACpB,CAAC,CAAC,CAAE,EAAU,EAAE,OAAO,IAAI,gBAAgB,CAAC;gBAC5C,CAAC,CAAC,gBAAgB;YACpB,OAAO,EAAG,EAAU,EAAE,OAAO,IAAI,EAAE;YACnC,IAAI,EAAG,EAAU,EAAE,IAAI,IAAI,mBAAmB,CAAC,WAAW;YAC1D,aAAa,EAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7C,CAAC;IACJ,CAAC;;AA/CH,kDAgDC"}
@@ -1,7 +1,7 @@
1
1
  import type { ArgumentsHost } from '@nestjs/common';
2
2
  import type { IErrorsSender } from '@rsdk/core';
3
3
  import type { EMPTY, Observable } from 'rxjs';
4
- import type { FormattedGrpcError } from './types';
4
+ import type { FormattedGrpcError } from '../types';
5
5
  export declare class GrpcErrorsSender implements IErrorsSender {
6
6
  protocol: string;
7
7
  send(_host: ArgumentsHost, ex: FormattedGrpcError): Observable<any> | typeof EMPTY;
@@ -7,7 +7,7 @@ const nice_grpc_1 = require("nice-grpc");
7
7
  // @ts-ignore потому что не добавили в тайпинги...
8
8
  const convertMetadata_1 = require("nice-grpc/lib/utils/convertMetadata");
9
9
  const rxjs_1 = require("rxjs");
10
- const constants_1 = require("./constants");
10
+ const constants_1 = require("../constants");
11
11
  class GrpcErrorsSender {
12
12
  protocol = constants_1.GRPC_PROTOCOL;
13
13
  send(_host, ex) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc-errors.sender.js","sourceRoot":"","sources":["../../src/error-handling/grpc-errors.sender.ts"],"names":[],"mappings":";;;AACA,6EAAmE;AAEnE,yCAAyD;AACzD,6DAA6D;AAC7D,kDAAkD;AAClD,yEAA8E;AAE9E,+BAAkC;AAElC,4CAA6C;AAG7C,MAAa,gBAAgB;IAC3B,QAAQ,GAAG,yBAAa,CAAC;IAEzB,IAAI,CACF,KAAoB,EACpB,EAAsB;QAEtB,MAAM,gBAAgB,GAAG,IAAA,oBAAgB,GAAE,CAAC;QAE5C,MAAM,MAAM,GAAG,sBAAM,CAAC,WAAW,CAAC;YAChC,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC,CAAC,CAAC;QAEH,gBAAgB,CAAC,GAAG,CAClB,yBAAyB,EACzB,sBAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAC/B,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,QAAQ,EAAE,IAAA,yCAAuB,EAAC,gBAAgB,CAAC;SACpD,CAAC;QAEF,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AA5BD,4CA4BC"}
@@ -0,0 +1,2 @@
1
+ export * from './grpc-errors.formatter';
2
+ export * from './grpc-errors.sender';
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./grpc-errors.formatter"), exports);
18
+ __exportStar(require("./grpc-errors.sender"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error-handling/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,uDAAqC"}
@@ -5,5 +5,4 @@ export declare class GRPCConfig extends Config {
5
5
  readonly channelOptions: Record<string, string | number>;
6
6
  readonly maxSend: number;
7
7
  readonly reflection: boolean;
8
- readonly requestLogging: boolean;
9
8
  }
@@ -20,7 +20,6 @@ let GRPCConfig = class GRPCConfig extends core_1.Config {
20
20
  channelOptions;
21
21
  maxSend;
22
22
  reflection;
23
- requestLogging;
24
23
  };
25
24
  exports.GRPCConfig = GRPCConfig;
26
25
  __decorate([
@@ -61,13 +60,6 @@ __decorate([
61
60
  }),
62
61
  __metadata("design:type", Boolean)
63
62
  ], GRPCConfig.prototype, "reflection", void 0);
64
- __decorate([
65
- (0, core_1.Property)('GRPC_REQUEST_LOGGING', new core_1.BoolParser(), {
66
- defaultValue: false,
67
- description: 'Enable trace logging all requests',
68
- }),
69
- __metadata("design:type", Boolean)
70
- ], GRPCConfig.prototype, "requestLogging", void 0);
71
63
  exports.GRPCConfig = GRPCConfig = __decorate([
72
64
  (0, core_1.ConfigSection)({
73
65
  tags: [core_1.ConfigTag.infrastructure, core_1.ConfigTag.transport, core_1.ConfigTag.grpcServer],
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.config.js","sourceRoot":"","sources":["../src/grpc.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAG2C;AAC3C,yCAAoC;AACpC,qCAQoB;AACpB,mDAAsD;AAK/C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,aAAM;IAQ3B,OAAO,CAAU;IAMjB,OAAO,CAAU;IAOjB,cAAc,CAAmC;IAMjD,OAAO,CAAU;IAMjB,UAAU,CAAW;IAMrB,cAAc,CAAW;CACnC,CAAA;AAxCY,gCAAU;AAQZ;IAPR,IAAA,eAAQ,EAAC,cAAc,EAAE,IAAI,+BAAiB,EAAE,EAAE;QACjD,YAAY,EAAE,eAAe;QAC7B,WAAW,EAAE,IAAA,aAAI,EAAA;;;KAGhB;KACF,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iCAAiC,EAAE,IAAI,gBAAS,EAAE,EAAE;QAC5D,YAAY,EAAE,8CAAkC;QAChD,WAAW,EAAE,iCAAiC;KAC/C,CAAC;;2CACwB;AAOjB;IALR,IAAA,eAAQ,EAAC,6BAA6B,EAAE,IAAI,iBAAU,EAAE,EAAE;QACzD,YAAY,EAAE,EAAE;QAChB,WAAW,EACT,sHAAsH;KACzH,CAAC;;kDACwD;AAMjD;IAJR,IAAA,eAAQ,EAAC,8BAA8B,EAAE,IAAI,gBAAS,EAAE,EAAE;QACzD,YAAY,EAAE,2CAA+B;QAC7C,WAAW,EAAE,8BAA8B;KAC5C,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iBAAiB,EAAE,IAAI,iBAAU,EAAE,EAAE;QAC7C,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mBAAmB;KACjC,CAAC;;8CAC4B;AAMrB;IAJR,IAAA,eAAQ,EAAC,sBAAsB,EAAE,IAAI,iBAAU,EAAE,EAAE;QAClD,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mCAAmC;KACjD,CAAC;;kDACgC;qBAvCvB,UAAU;IAHtB,IAAA,oBAAa,EAAC;QACb,IAAI,EAAE,CAAC,gBAAS,CAAC,cAAc,EAAE,gBAAS,CAAC,SAAS,EAAE,gBAAS,CAAC,UAAU,CAAC;KAC5E,CAAC;GACW,UAAU,CAwCtB"}
1
+ {"version":3,"file":"grpc.config.js","sourceRoot":"","sources":["../src/grpc.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAG2C;AAC3C,yCAAoC;AACpC,qCAQoB;AACpB,mDAAsD;AAK/C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,aAAM;IAQ3B,OAAO,CAAU;IAMjB,OAAO,CAAU;IAOjB,cAAc,CAAmC;IAMjD,OAAO,CAAU;IAMjB,UAAU,CAAW;CAC/B,CAAA;AAlCY,gCAAU;AAQZ;IAPR,IAAA,eAAQ,EAAC,cAAc,EAAE,IAAI,+BAAiB,EAAE,EAAE;QACjD,YAAY,EAAE,eAAe;QAC7B,WAAW,EAAE,IAAA,aAAI,EAAA;;;KAGhB;KACF,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iCAAiC,EAAE,IAAI,gBAAS,EAAE,EAAE;QAC5D,YAAY,EAAE,8CAAkC;QAChD,WAAW,EAAE,iCAAiC;KAC/C,CAAC;;2CACwB;AAOjB;IALR,IAAA,eAAQ,EAAC,6BAA6B,EAAE,IAAI,iBAAU,EAAE,EAAE;QACzD,YAAY,EAAE,EAAE;QAChB,WAAW,EACT,sHAAsH;KACzH,CAAC;;kDACwD;AAMjD;IAJR,IAAA,eAAQ,EAAC,8BAA8B,EAAE,IAAI,gBAAS,EAAE,EAAE;QACzD,YAAY,EAAE,2CAA+B;QAC7C,WAAW,EAAE,8BAA8B;KAC5C,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iBAAiB,EAAE,IAAI,iBAAU,EAAE,EAAE;QAC7C,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mBAAmB;KACjC,CAAC;;8CAC4B;qBAjCnB,UAAU;IAHtB,IAAA,oBAAa,EAAC;QACb,IAAI,EAAE,CAAC,gBAAS,CAAC,cAAc,EAAE,gBAAS,CAAC,SAAS,EAAE,gBAAS,CAAC,UAAU,CAAC;KAC5E,CAAC;GACW,UAAU,CAkCtB"}
@@ -0,0 +1,8 @@
1
+ import type { ExecutionContext } from '@nestjs/common';
2
+ import type { LogFormatter } from '@rsdk/core';
3
+ export declare class GrpcLogFormatter implements LogFormatter {
4
+ readonly protocol = "grpc";
5
+ getPath(context: ExecutionContext): string;
6
+ formatRequest(context: ExecutionContext, includeBody: boolean): Record<string, unknown>;
7
+ formatResponse(_: ExecutionContext, body: unknown | undefined): Record<string, unknown>;
8
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GrpcLogFormatter = void 0;
4
+ class GrpcLogFormatter {
5
+ protocol = 'grpc';
6
+ getPath(context) {
7
+ return context.getArgs()[2]?.path ?? 'unknown path';
8
+ }
9
+ formatRequest(context, includeBody) {
10
+ const rpc = context.switchToRpc();
11
+ return {
12
+ headers: rpc.getContext().toJSON(),
13
+ ...(includeBody ? { data: rpc.getData() } : {}),
14
+ };
15
+ }
16
+ formatResponse(_, body) {
17
+ return {
18
+ body,
19
+ };
20
+ }
21
+ }
22
+ exports.GrpcLogFormatter = GrpcLogFormatter;
23
+ //# sourceMappingURL=grpc.log-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.log-formatter.js","sourceRoot":"","sources":["../src/grpc.log-formatter.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAgB;IAClB,QAAQ,GAAG,MAAM,CAAC;IAE3B,OAAO,CAAC,OAAyB;QAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,cAAc,CAAC;IACtD,CAAC;IAED,aAAa,CACX,OAAyB,EACzB,WAAoB;QAEpB,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAElC,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE;YAClC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,CAAmB,EACnB,IAAyB;QAEzB,OAAO;YACL,IAAI;SACL,CAAC;IACJ,CAAC;CACF;AA3BD,4CA2BC"}
@@ -1,7 +1,7 @@
1
1
  import type { Controller, ExecutionContext } from '@nestjs/common/interfaces';
2
2
  import type { MicroserviceOptions } from '@nestjs/microservices';
3
3
  import { type Constructor } from '@rsdk/common';
4
- import type { ConfigContext, GenericHeaders, IErrorsFormatter, IErrorsSender, IErrorsTransformer, IMicroserviceTransport, NestModuleDefinitions } from '@rsdk/core';
4
+ import type { ConfigContext, GenericHeaders, IErrorsFormatter, IErrorsSender, IErrorsTransformer, IMicroserviceTransport, LogFormatter, NestModuleDefinitions } from '@rsdk/core';
5
5
  import type { Package } from '@rsdk/grpc.loader';
6
6
  export declare class GrpcTransport implements IMicroserviceTransport {
7
7
  private readonly logger;
@@ -15,15 +15,16 @@ export declare class GrpcTransport implements IMicroserviceTransport {
15
15
  extractHeaders(ctx: ExecutionContext): GenericHeaders;
16
16
  matchByContext(ctx: ExecutionContext): boolean;
17
17
  getProtocol(): string;
18
- getErrorsFormatter(): IErrorsFormatter;
19
- getErrorsSender(): IErrorsSender;
20
- getErrorTransformers(): IErrorsTransformer[];
18
+ errorFormatter(): IErrorsFormatter;
19
+ errorSender(): IErrorsSender;
20
+ errorTransformers(): IErrorsTransformer[];
21
+ logFormatter(): LogFormatter;
21
22
  getMetricsController(): Constructor<Controller>;
22
23
  getHealthController(): Constructor<Controller>;
23
24
  modules(): NestModuleDefinitions;
24
25
  /**
25
- * Unfortunally we can't access GRPCConfig in constructor because
26
- * PlatformConfigModule is not initilalized yet
26
+ * Unfortunately we can't access GRPCConfig in constructor because
27
+ * PlatformConfigModule is not initialized yet
27
28
  */
28
29
  init(configContext: ConfigContext): void;
29
30
  createMicroserviceOptions(): MicroserviceOptions;
@@ -2,20 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GrpcTransport = void 0;
4
4
  const server_call_1 = require("@grpc/grpc-js/build/src/server-call");
5
- const core_1 = require("@nestjs/core");
6
5
  const common_1 = require("@rsdk/common");
7
- const core_2 = require("@rsdk/core");
6
+ const core_1 = require("@rsdk/core");
8
7
  const grpc_loader_1 = require("@rsdk/grpc.loader");
9
8
  const logging_1 = require("@rsdk/logging");
10
9
  const node_net_1 = require("node:net");
10
+ const grpc_errors_formatter_1 = require("./error-handling/grpc-errors.formatter");
11
+ const grpc_errors_sender_1 = require("./error-handling/grpc-errors.sender");
11
12
  const constants_1 = require("./constants");
12
13
  const controllers_1 = require("./controllers");
13
14
  const grpc_config_1 = require("./grpc.config");
14
15
  const grpc_headers_1 = require("./grpc.headers");
16
+ const grpc_log_formatter_1 = require("./grpc.log-formatter");
15
17
  const grpc_utils_1 = require("./grpc.utils");
16
- const grpc_errors_formatter_1 = require("./grpc-errors.formatter");
17
- const grpc_errors_sender_1 = require("./grpc-errors.sender");
18
- const grpc_logger_interceptor_1 = require("./grpc-logger.interceptor");
19
18
  const reflection_module_1 = require("./reflection.module");
20
19
  class GrpcTransport {
21
20
  logger = logging_1.LoggerFactory.create(GrpcTransport);
@@ -45,15 +44,18 @@ class GrpcTransport {
45
44
  getProtocol() {
46
45
  return constants_1.GRPC_PROTOCOL;
47
46
  }
48
- getErrorsFormatter() {
47
+ errorFormatter() {
49
48
  return new grpc_errors_formatter_1.GrpcErrorsFormatter();
50
49
  }
51
- getErrorsSender() {
50
+ errorSender() {
52
51
  return new grpc_errors_sender_1.GrpcErrorsSender();
53
52
  }
54
- getErrorTransformers() {
53
+ errorTransformers() {
55
54
  return [];
56
55
  }
56
+ logFormatter() {
57
+ return new grpc_log_formatter_1.GrpcLogFormatter();
58
+ }
57
59
  getMetricsController() {
58
60
  return controllers_1.MetricsController;
59
61
  }
@@ -61,22 +63,11 @@ class GrpcTransport {
61
63
  return controllers_1.HealthController;
62
64
  }
63
65
  modules() {
64
- return [
65
- reflection_module_1.ReflectionModule.forRoot(this.packages),
66
- {
67
- module: GrpcTransport,
68
- providers: [
69
- {
70
- provide: core_1.APP_INTERCEPTOR,
71
- useClass: grpc_logger_interceptor_1.GrpcLoggerInterceptor,
72
- },
73
- ],
74
- },
75
- ];
66
+ return [reflection_module_1.ReflectionModule.forRoot(this.packages)];
76
67
  }
77
68
  /**
78
- * Unfortunally we can't access GRPCConfig in constructor because
79
- * PlatformConfigModule is not initilalized yet
69
+ * Unfortunately we can't access GRPCConfig in constructor because
70
+ * PlatformConfigModule is not initialized yet
80
71
  */
81
72
  init(configContext) {
82
73
  const { address, maxRecv, maxSend, channelOptions } = configContext.resolve(grpc_config_1.GRPCConfig);
@@ -126,7 +117,7 @@ class GrpcTransport {
126
117
  }
127
118
  checkIsInitialized() {
128
119
  if (!this.isInitialized) {
129
- throw new core_2.SequenceException('You should call init() method first!');
120
+ throw new core_1.SequenceException('You should call init() method first!');
130
121
  }
131
122
  }
132
123
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/grpc.server",
3
- "version": "5.7.0-next.6",
3
+ "version": "6.0.0-next.1",
4
4
  "description": "Grpc transport for platform, clients and common grpc stuff",
5
5
  "license": "Apache License 2.0",
6
6
  "publishConfig": {
@@ -21,12 +21,13 @@
21
21
  "@rsdk/grpc.common": "*",
22
22
  "@rsdk/grpc.loader": "*",
23
23
  "@rsdk/logging": "*",
24
+ "@rsdk/zones": "*",
24
25
  "nice-grpc": "^2.1.10",
25
26
  "reflect-metadata": "^0.1.12 || ^0.2.0",
26
- "rxjs": "^7.1.0"
27
+ "rxjs": "^7.8.1"
27
28
  },
28
29
  "dependencies": {
29
30
  "@bufbuild/protobuf": "^1.4.2"
30
31
  },
31
- "gitHead": "287622c55e8717861544f0be502bb37a6b19bbfb"
32
+ "gitHead": "3114a76df17cf98d6f3cbb8a931599a883af6783"
32
33
  }
@@ -14,8 +14,10 @@ import {
14
14
  InternalException,
15
15
  } from '@rsdk/core';
16
16
  import { ILogger } from '@rsdk/logging';
17
+ import { Internal } from '@rsdk/zones';
17
18
  import type { Observable } from 'rxjs';
18
19
 
20
+ @Internal()
19
21
  @HealthGrpcMethods()
20
22
  export class HealthController implements HealthGrpcController {
21
23
  constructor(
@@ -4,7 +4,9 @@ import type {
4
4
  } from '@rsdk/builtin-contract/dist/grpc.metrics.v1';
5
5
  import { MetricsGrpcMethods } from '@rsdk/builtin-contract/dist/grpc.metrics.v1';
6
6
  import { register } from '@rsdk/core';
7
+ import { Internal } from '@rsdk/zones';
7
8
 
9
+ @Internal()
8
10
  @MetricsGrpcMethods()
9
11
  export class MetricsController implements MetricsGrpcController {
10
12
  async get(): Promise<GetResponse> {
@@ -2,8 +2,8 @@ import * as grpc from '@grpc/grpc-js';
2
2
  import type { IErrorsFormatter } from '@rsdk/core';
3
3
  import { ExceptionKind, PipelineException } from '@rsdk/core';
4
4
 
5
- import { GRPC_PROTOCOL } from './constants';
6
- import type { FormattedGrpcError } from './types';
5
+ import { GRPC_PROTOCOL } from '../constants';
6
+ import type { FormattedGrpcError } from '../types';
7
7
 
8
8
  export class GrpcErrorsFormatter implements IErrorsFormatter {
9
9
  static readonly defaultKind = ExceptionKind.UNKNOWN;
@@ -8,8 +8,8 @@ import { convertMetadataToGrpcJs } from 'nice-grpc/lib/utils/convertMetadata';
8
8
  import type { EMPTY, Observable } from 'rxjs';
9
9
  import { throwError } from 'rxjs';
10
10
 
11
- import { GRPC_PROTOCOL } from './constants';
12
- import type { FormattedGrpcError } from './types';
11
+ import { GRPC_PROTOCOL } from '../constants';
12
+ import type { FormattedGrpcError } from '../types';
13
13
 
14
14
  export class GrpcErrorsSender implements IErrorsSender {
15
15
  protocol = GRPC_PROTOCOL;
@@ -0,0 +1,2 @@
1
+ export * from './grpc-errors.formatter';
2
+ export * from './grpc-errors.sender';
@@ -51,10 +51,4 @@ export class GRPCConfig extends Config {
51
51
  description: 'Enable reflection',
52
52
  })
53
53
  readonly reflection!: boolean;
54
-
55
- @Property('GRPC_REQUEST_LOGGING', new BoolParser(), {
56
- defaultValue: false,
57
- description: 'Enable trace logging all requests',
58
- })
59
- readonly requestLogging!: boolean;
60
54
  }
@@ -0,0 +1,31 @@
1
+ import type { ExecutionContext } from '@nestjs/common';
2
+ import type { LogFormatter } from '@rsdk/core';
3
+
4
+ export class GrpcLogFormatter implements LogFormatter {
5
+ readonly protocol = 'grpc';
6
+
7
+ getPath(context: ExecutionContext): string {
8
+ return context.getArgs()[2]?.path ?? 'unknown path';
9
+ }
10
+
11
+ formatRequest(
12
+ context: ExecutionContext,
13
+ includeBody: boolean,
14
+ ): Record<string, unknown> {
15
+ const rpc = context.switchToRpc();
16
+
17
+ return {
18
+ headers: rpc.getContext().toJSON(),
19
+ ...(includeBody ? { data: rpc.getData() } : {}),
20
+ };
21
+ }
22
+
23
+ formatResponse(
24
+ _: ExecutionContext,
25
+ body: unknown | undefined,
26
+ ): Record<string, unknown> {
27
+ return {
28
+ body,
29
+ };
30
+ }
31
+ }
@@ -6,7 +6,6 @@ import {
6
6
  ServerWritableStreamImpl,
7
7
  } from '@grpc/grpc-js/build/src/server-call';
8
8
  import type { Controller, ExecutionContext } from '@nestjs/common/interfaces';
9
- import { APP_INTERCEPTOR } from '@nestjs/core';
10
9
  import type { MicroserviceOptions } from '@nestjs/microservices';
11
10
  import { type Constructor, text } from '@rsdk/common';
12
11
  import type {
@@ -16,6 +15,7 @@ import type {
16
15
  IErrorsSender,
17
16
  IErrorsTransformer,
18
17
  IMicroserviceTransport,
18
+ LogFormatter,
19
19
  NestModuleDefinitions,
20
20
  } from '@rsdk/core';
21
21
  import { SequenceException } from '@rsdk/core';
@@ -24,14 +24,14 @@ import { createGrpcOptions } from '@rsdk/grpc.loader';
24
24
  import { LoggerFactory } from '@rsdk/logging';
25
25
  import { isIPv4 } from 'node:net';
26
26
 
27
+ import { GrpcErrorsFormatter } from './error-handling/grpc-errors.formatter';
28
+ import { GrpcErrorsSender } from './error-handling/grpc-errors.sender';
27
29
  import { DEFAULT_GRPC_HOST, GRPC_PROTOCOL, systemPackages } from './constants';
28
30
  import { HealthController, MetricsController } from './controllers';
29
31
  import { GRPCConfig } from './grpc.config';
30
32
  import { GrpcHeaders } from './grpc.headers';
33
+ import { GrpcLogFormatter } from './grpc.log-formatter';
31
34
  import { isPackageNotIncluded } from './grpc.utils';
32
- import { GrpcErrorsFormatter } from './grpc-errors.formatter';
33
- import { GrpcErrorsSender } from './grpc-errors.sender';
34
- import { GrpcLoggerInterceptor } from './grpc-logger.interceptor';
35
35
  import { ReflectionModule } from './reflection.module';
36
36
 
37
37
  export class GrpcTransport implements IMicroserviceTransport {
@@ -71,18 +71,22 @@ export class GrpcTransport implements IMicroserviceTransport {
71
71
  return GRPC_PROTOCOL;
72
72
  }
73
73
 
74
- getErrorsFormatter(): IErrorsFormatter {
74
+ errorFormatter(): IErrorsFormatter {
75
75
  return new GrpcErrorsFormatter();
76
76
  }
77
77
 
78
- getErrorsSender(): IErrorsSender {
78
+ errorSender(): IErrorsSender {
79
79
  return new GrpcErrorsSender();
80
80
  }
81
81
 
82
- getErrorTransformers(): IErrorsTransformer[] {
82
+ errorTransformers(): IErrorsTransformer[] {
83
83
  return [];
84
84
  }
85
85
 
86
+ logFormatter(): LogFormatter {
87
+ return new GrpcLogFormatter();
88
+ }
89
+
86
90
  getMetricsController(): Constructor<Controller> {
87
91
  return MetricsController;
88
92
  }
@@ -92,23 +96,12 @@ export class GrpcTransport implements IMicroserviceTransport {
92
96
  }
93
97
 
94
98
  modules(): NestModuleDefinitions {
95
- return [
96
- ReflectionModule.forRoot(this.packages),
97
- {
98
- module: GrpcTransport,
99
- providers: [
100
- {
101
- provide: APP_INTERCEPTOR,
102
- useClass: GrpcLoggerInterceptor,
103
- },
104
- ],
105
- },
106
- ];
99
+ return [ReflectionModule.forRoot(this.packages)];
107
100
  }
108
101
 
109
102
  /**
110
- * Unfortunally we can't access GRPCConfig in constructor because
111
- * PlatformConfigModule is not initilalized yet
103
+ * Unfortunately we can't access GRPCConfig in constructor because
104
+ * PlatformConfigModule is not initialized yet
112
105
  */
113
106
  init(configContext: ConfigContext): void {
114
107
  const { address, maxRecv, maxSend, channelOptions } =
@@ -1,4 +1,6 @@
1
1
  import { FileDescriptorProto } from '@bufbuild/protobuf';
2
+ import { getLoggerToken } from '@rsdk/core';
3
+ import { NoopLogger } from '@rsdk/logging';
2
4
  import type { PlatformTestingModule } from '@rsdk/testing';
3
5
  import { PlatformTest } from '@rsdk/testing';
4
6
 
@@ -20,6 +22,10 @@ describe('ReflectionService', () => {
20
22
  provide: 'GRPC_PACKAGES',
21
23
  useValue: new Map(systemPackages.map((pkg) => [pkg.name, pkg])),
22
24
  },
25
+ {
26
+ provide: getLoggerToken(ReflectionService),
27
+ useValue: new NoopLogger(),
28
+ },
23
29
  ],
24
30
  })
25
31
  .compile();
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc-errors.formatter.js","sourceRoot":"","sources":["../src/grpc-errors.formatter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,qCAA8D;AAE9D,2CAA4C;AAG5C,MAAa,mBAAmB;IAC9B,MAAM,CAAU,WAAW,GAAG,oBAAa,CAAC,OAAO,CAAC;IACpD,QAAQ,GAAG,yBAAa,CAAC;IACR,SAAS,GAAuC;QAC/D,CAAC,oBAAa,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;QAC3D,CAAC,oBAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QAC1D,CAAC,oBAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;QACzD,CAAC,oBAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;QACnD,CAAC,oBAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;QACtD,CAAC,oBAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;QAC9C,CAAC,oBAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;QACvD,CAAC,oBAAa,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QAChD,CAAC,oBAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACpD,CAAC,oBAAa,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;KAC7C,CAAC;IAEF,MAAM,CAAC,EAAW,EAAE,aAAuB;QACzC,IAAI,EAAE,YAAY,wBAAiB,EAAE,CAAC;YACpC,MAAM,OAAO,GAAG,aAAa;gBAC3B,CAAC,CAAC;oBACE,EAAE,CAAC,OAAO;oBACV,GAAG,wBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CACrD;iBACF,CAAC,IAAI,CAAC,IAAI,CAAC;gBACd,CAAC,CAAC,oBAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAEtC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC7B,OAAO;gBACP,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE;gBACzB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;aAClC,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,eAAe,CAAC;QAEzC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC;YACrD,OAAO,EAAE,aAAa;gBACpB,CAAC,CAAC,CAAE,EAAU,EAAE,OAAO,IAAI,gBAAgB,CAAC;gBAC5C,CAAC,CAAC,gBAAgB;YACpB,OAAO,EAAG,EAAU,EAAE,OAAO,IAAI,EAAE;YACnC,IAAI,EAAG,EAAU,EAAE,IAAI,IAAI,mBAAmB,CAAC,WAAW;YAC1D,aAAa,EAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7C,CAAC;IACJ,CAAC;;AA/CH,kDAgDC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc-errors.sender.js","sourceRoot":"","sources":["../src/grpc-errors.sender.ts"],"names":[],"mappings":";;;AACA,6EAAmE;AAEnE,yCAAyD;AACzD,6DAA6D;AAC7D,kDAAkD;AAClD,yEAA8E;AAE9E,+BAAkC;AAElC,2CAA4C;AAG5C,MAAa,gBAAgB;IAC3B,QAAQ,GAAG,yBAAa,CAAC;IAEzB,IAAI,CACF,KAAoB,EACpB,EAAsB;QAEtB,MAAM,gBAAgB,GAAG,IAAA,oBAAgB,GAAE,CAAC;QAE5C,MAAM,MAAM,GAAG,sBAAM,CAAC,WAAW,CAAC;YAChC,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,aAAa,EAAE,EAAE,CAAC,aAAa;SAChC,CAAC,CAAC;QAEH,gBAAgB,CAAC,GAAG,CAClB,yBAAyB,EACzB,sBAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAC/B,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,QAAQ,EAAE,IAAA,yCAAuB,EAAC,gBAAgB,CAAC;SACpD,CAAC;QAEF,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AA5BD,4CA4BC"}
@@ -1,13 +0,0 @@
1
- import type { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common/interfaces';
2
- import { ProtocolDetector } from '@rsdk/core';
3
- import { ILogger } from '@rsdk/logging';
4
- import type { Observable } from 'rxjs';
5
- import { GRPCConfig } from './grpc.config';
6
- export declare class GrpcLoggerInterceptor implements NestInterceptor {
7
- private logger;
8
- private grpcConfig;
9
- private detector;
10
- constructor(logger: ILogger, grpcConfig: GRPCConfig, detector: ProtocolDetector);
11
- intercept(context: ExecutionContext, next: CallHandler<any>): Observable<any> | Promise<Observable<any>>;
12
- private getRpcPath;
13
- }
@@ -1,89 +0,0 @@
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.GrpcLoggerInterceptor = void 0;
16
- const core_1 = require("@rsdk/core");
17
- const rxjs_1 = require("rxjs");
18
- const grpc_config_1 = require("./grpc.config");
19
- let GrpcLoggerInterceptor = class GrpcLoggerInterceptor {
20
- logger;
21
- grpcConfig;
22
- detector;
23
- constructor(logger, grpcConfig, detector) {
24
- this.logger = logger;
25
- this.grpcConfig = grpcConfig;
26
- this.detector = detector;
27
- }
28
- intercept(context, next) {
29
- if (!this.grpcConfig.requestLogging) {
30
- return next.handle();
31
- }
32
- const protocol = this.detector.getProtocol(context);
33
- const isRpc = protocol === 'grpc';
34
- if (!isRpc) {
35
- return next.handle();
36
- }
37
- const rpc = context.switchToRpc();
38
- const startDate = Date.now();
39
- const rpcContext = rpc.getContext();
40
- const serializedCtx = rpcContext?.toJSON?.() ?? rpcContext;
41
- const requestForLog = {
42
- data: rpc.getData(),
43
- ctx: serializedCtx,
44
- };
45
- const path = this.getRpcPath(context);
46
- this.logger.trace(`received rpc ${path || 'request'} `, {
47
- request: requestForLog,
48
- timestamp: startDate,
49
- });
50
- return next.handle().pipe((0, rxjs_1.catchError)((error) => {
51
- const endDate = Date.now();
52
- this.logger.trace(`handled rpc ${path || 'request'} with error`, {
53
- request: requestForLog,
54
- startDate,
55
- endDate,
56
- duration: endDate - startDate,
57
- error,
58
- });
59
- return (0, rxjs_1.throwError)(() => error);
60
- }), (0, rxjs_1.tap)((response) => {
61
- const endDate = Date.now();
62
- this.logger.trace(`handled rpc ${path || 'request'}`, {
63
- request: requestForLog,
64
- startDate,
65
- endDate,
66
- duration: endDate - startDate,
67
- response,
68
- });
69
- }));
70
- }
71
- getRpcPath(context) {
72
- try {
73
- return context.getArgs()[2]?.path;
74
- }
75
- catch (error) {
76
- if (error instanceof Error) {
77
- this.logger.warn(error.message, { error });
78
- }
79
- return undefined;
80
- }
81
- }
82
- };
83
- exports.GrpcLoggerInterceptor = GrpcLoggerInterceptor;
84
- exports.GrpcLoggerInterceptor = GrpcLoggerInterceptor = __decorate([
85
- __param(0, (0, core_1.InjectLogger)(GrpcLoggerInterceptor)),
86
- __metadata("design:paramtypes", [Object, grpc_config_1.GRPCConfig,
87
- core_1.ProtocolDetector])
88
- ], GrpcLoggerInterceptor);
89
- //# sourceMappingURL=grpc-logger.interceptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grpc-logger.interceptor.js","sourceRoot":"","sources":["../src/grpc-logger.interceptor.ts"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- import type {
2
- CallHandler,
3
- ExecutionContext,
4
- NestInterceptor,
5
- } from '@nestjs/common/interfaces';
6
- import { InjectLogger, ProtocolDetector } from '@rsdk/core';
7
- import { ILogger } from '@rsdk/logging';
8
- import type { Observable } from 'rxjs';
9
- import { catchError, tap, throwError } from 'rxjs';
10
-
11
- import { GRPCConfig } from './grpc.config';
12
-
13
- export class GrpcLoggerInterceptor implements NestInterceptor {
14
- constructor(
15
- @InjectLogger(GrpcLoggerInterceptor) private logger: ILogger,
16
- private grpcConfig: GRPCConfig,
17
- private detector: ProtocolDetector,
18
- ) {}
19
-
20
- intercept(
21
- context: ExecutionContext,
22
- next: CallHandler<any>,
23
- ): Observable<any> | Promise<Observable<any>> {
24
- if (!this.grpcConfig.requestLogging) {
25
- return next.handle();
26
- }
27
-
28
- const protocol = this.detector.getProtocol(context);
29
- const isRpc = protocol === 'grpc';
30
- if (!isRpc) {
31
- return next.handle();
32
- }
33
-
34
- const rpc = context.switchToRpc();
35
-
36
- const startDate = Date.now();
37
- const rpcContext = rpc.getContext();
38
- const serializedCtx = rpcContext?.toJSON?.() ?? rpcContext;
39
- const requestForLog = {
40
- data: rpc.getData(),
41
- ctx: serializedCtx,
42
- };
43
-
44
- const path = this.getRpcPath(context);
45
-
46
- this.logger.trace(`received rpc ${path || 'request'} `, {
47
- request: requestForLog,
48
- timestamp: startDate,
49
- });
50
-
51
- return next.handle().pipe(
52
- catchError((error) => {
53
- const endDate = Date.now();
54
-
55
- this.logger.trace(`handled rpc ${path || 'request'} with error`, {
56
- request: requestForLog,
57
- startDate,
58
- endDate,
59
- duration: endDate - startDate,
60
- error,
61
- });
62
- return throwError(() => error);
63
- }),
64
- tap((response) => {
65
- const endDate = Date.now();
66
-
67
- this.logger.trace(`handled rpc ${path || 'request'}`, {
68
- request: requestForLog,
69
- startDate,
70
- endDate,
71
- duration: endDate - startDate,
72
- response,
73
- });
74
- }),
75
- );
76
- }
77
-
78
- private getRpcPath(context: ExecutionContext): string | undefined {
79
- try {
80
- return context.getArgs()[2]?.path;
81
- } catch (error) {
82
- if (error instanceof Error) {
83
- this.logger.warn(error.message, { error });
84
- }
85
- return undefined;
86
- }
87
- }
88
- }