@rsdk/grpc.server 4.0.0-next.14 → 4.0.0-next.16
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/CHANGELOG.md +39 -15
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +5 -0
- package/dist/constants.js.map +1 -0
- package/dist/controllers/health.controller.js.map +1 -1
- package/dist/controllers/reflection/v1.base.controller.js.map +1 -1
- package/dist/grpc-errors.formatter.d.ts +1 -2
- package/dist/grpc-errors.formatter.js +2 -3
- package/dist/grpc-errors.formatter.js.map +1 -1
- package/dist/grpc-errors.sender.d.ts +1 -1
- package/dist/grpc-errors.sender.js +2 -3
- package/dist/grpc-errors.sender.js.map +1 -1
- package/dist/grpc-logger.interceptor.d.ts +3 -1
- package/dist/grpc-logger.interceptor.js +7 -3
- package/dist/grpc-logger.interceptor.js.map +1 -1
- package/dist/grpc.transport.d.ts +3 -2
- package/dist/grpc.transport.js +18 -7
- package/dist/grpc.transport.js.map +1 -1
- package/dist/reflection.service.js.map +1 -1
- package/jest.config.e2e.js +1 -0
- package/jest.config.js +1 -11
- package/jest.config.unit.js +1 -0
- package/package.json +8 -8
- package/src/constants.ts +1 -0
- package/src/grpc-errors.formatter.ts +2 -5
- package/src/grpc-errors.sender.ts +2 -3
- package/src/grpc-logger.interceptor.ts +5 -2
- package/src/grpc.transport.ts +27 -9
- package/tsconfig.json +12 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.0.0-next.16](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.15...v4.0.0-next.16) (2023-11-30)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @rsdk/grpc.server
|
|
9
|
+
|
|
10
|
+
## [4.0.0-next.15](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.14...v4.0.0-next.15) (2023-11-30)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* added protocol detector ([#166](https://github.com/R-Vision/rsdk/issues/166)) ([f348995](https://github.com/R-Vision/rsdk/commit/f348995f29648c7392b7375c5b2001197d60eb36))
|
|
15
|
+
|
|
6
16
|
## [4.0.0-next.14](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.13...v4.0.0-next.14) (2023-11-29)
|
|
7
17
|
|
|
8
18
|
### Features
|
|
@@ -27,13 +37,15 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
27
37
|
|
|
28
38
|
### Features
|
|
29
39
|
|
|
30
|
-
* added configuration for request logging and move to trace level all request
|
|
40
|
+
* added configuration for request logging and move to trace level all request
|
|
41
|
+
logging ([#158](https://github.com/R-Vision/rsdk/issues/158)) ([0304672](https://github.com/R-Vision/rsdk/commit/0304672c112fd626642a2d44b0384fbf188e71b4))
|
|
31
42
|
|
|
32
43
|
## [3.7.0](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.5...v3.7.0) (2023-11-15)
|
|
33
44
|
|
|
34
45
|
### Features
|
|
35
46
|
|
|
36
|
-
* added logging to rpc and http
|
|
47
|
+
* added logging to rpc and http
|
|
48
|
+
transports ([#156](https://github.com/R-Vision/rsdk/issues/156)) ([7ebddb9](https://github.com/R-Vision/rsdk/commit/7ebddb97d2c30811eba9868b6d3ff9778708c957))
|
|
37
49
|
|
|
38
50
|
## [4.0.0-next.9](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.8...v4.0.0-next.9) (2023-11-29)
|
|
39
51
|
|
|
@@ -43,7 +55,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
43
55
|
|
|
44
56
|
### Features
|
|
45
57
|
|
|
46
|
-
* Kafka batch
|
|
58
|
+
* Kafka batch
|
|
59
|
+
producer ([#150](https://github.com/R-Vision/rsdk/issues/150)) ([2faa2f4](https://github.com/R-Vision/rsdk/commit/2faa2f41ca0dbb6d8a92cbf0ab20cf5cefeaf4e9))
|
|
47
60
|
|
|
48
61
|
## [4.0.0-next.7](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.6...v4.0.0-next.7) (2023-11-21)
|
|
49
62
|
|
|
@@ -57,7 +70,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
57
70
|
|
|
58
71
|
### Features
|
|
59
72
|
|
|
60
|
-
* **PFM-126:** reflection
|
|
73
|
+
* **PFM-126:** reflection
|
|
74
|
+
added ([ffaaa99](https://github.com/R-Vision/rsdk/commit/ffaaa996e0a81f98be46b0b73badb59f3e680eac))
|
|
61
75
|
|
|
62
76
|
### Bug Fixes
|
|
63
77
|
|
|
@@ -71,7 +85,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
71
85
|
|
|
72
86
|
### Bug Fixes
|
|
73
87
|
|
|
74
|
-
* all yarn peers dependency
|
|
88
|
+
* all yarn peers dependency
|
|
89
|
+
issues ([e0db9ef](https://github.com/R-Vision/rsdk/commit/e0db9ef1ab8a4df4e1f8ff6f6a9e3728f497549b))
|
|
75
90
|
|
|
76
91
|
## [4.0.0-next.2](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.1...v4.0.0-next.2) (2023-11-10)
|
|
77
92
|
|
|
@@ -137,7 +152,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
137
152
|
|
|
138
153
|
### Features
|
|
139
154
|
|
|
140
|
-
* remove typeorm error
|
|
155
|
+
* remove typeorm error
|
|
156
|
+
hiding ([#126](https://github.com/R-Vision/rsdk/issues/126)) ([cef179b](https://github.com/R-Vision/rsdk/commit/cef179bfffcd2da72984f4a5a750f7ede5d8cfb7))
|
|
141
157
|
|
|
142
158
|
## [3.5.0-next.7](https://github.com/R-Vision/rsdk/compare/v3.5.0-next.6...v3.5.0-next.7) (2023-10-02)
|
|
143
159
|
|
|
@@ -211,7 +227,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
211
227
|
|
|
212
228
|
### Bug Fixes
|
|
213
229
|
|
|
214
|
-
* **grpc.server:** added message to `ClientError` in `cause` from mapped
|
|
230
|
+
* **grpc.server:** added message to `ClientError` in `cause` from mapped
|
|
231
|
+
errors ([da4ef10](https://github.com/R-Vision/rsdk/commit/da4ef10e21b7494791ba10a9068748ac0365a664))
|
|
215
232
|
|
|
216
233
|
## [3.3.0](https://github.com/R-Vision/rsdk/compare/v3.3.0-next.0...v3.3.0) (2023-08-10)
|
|
217
234
|
|
|
@@ -253,7 +270,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
253
270
|
|
|
254
271
|
### Features
|
|
255
272
|
|
|
256
|
-
* added exception code to
|
|
273
|
+
* added exception code to
|
|
274
|
+
payload ([#92](https://github.com/R-Vision/rsdk/issues/92)) ([6a9565b](https://github.com/R-Vision/rsdk/commit/6a9565b23746122676abb1f5166f9ef8b181864b))
|
|
257
275
|
|
|
258
276
|
## [3.0.2](https://github.com/R-Vision/rsdk/compare/v3.0.1...v3.0.2) (2023-08-07)
|
|
259
277
|
|
|
@@ -263,7 +281,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
263
281
|
|
|
264
282
|
### Bug Fixes
|
|
265
283
|
|
|
266
|
-
* **deps:** correctly
|
|
284
|
+
* **deps:** correctly
|
|
285
|
+
peerDependencies ([349628f](https://github.com/R-Vision/rsdk/commit/349628f10da46a30d6c8b9f9387e010869318212))
|
|
267
286
|
|
|
268
287
|
## [3.0.1-next.0](https://github.com/R-Vision/rsdk/compare/v3.0.0...v3.0.1-next.0) (2023-08-07)
|
|
269
288
|
|
|
@@ -289,7 +308,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
289
308
|
|
|
290
309
|
### Features
|
|
291
310
|
|
|
292
|
-
* **grpc.clients:** grpc rich
|
|
311
|
+
* **grpc.clients:** grpc rich
|
|
312
|
+
error ([#85](https://github.com/R-Vision/rsdk/issues/85)) ([be99f40](https://github.com/R-Vision/rsdk/commit/be99f408295bf1750f6f0c39e067cca971d973e3))
|
|
293
313
|
|
|
294
314
|
# [2.6.0-next.13](https://github.com/R-Vision/rsdk/compare/v2.6.0-next.12...v2.6.0-next.13) (2023-08-01)
|
|
295
315
|
|
|
@@ -391,12 +411,13 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
391
411
|
|
|
392
412
|
### Draft
|
|
393
413
|
|
|
394
|
-
* Pfm 303 static to meta
|
|
414
|
+
* Pfm 303 static to meta
|
|
415
|
+
migration ([#45](https://github.com/R-Vision/rsdk/issues/45)) ([d98e303](https://github.com/R-Vision/rsdk/commit/d98e3032f9b10446b478427d841b9209ed68fa2d))
|
|
395
416
|
|
|
396
417
|
### BREAKING CHANGES
|
|
397
418
|
|
|
398
419
|
* GrpcClientModule removed
|
|
399
|
-
new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
420
|
+
new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
400
421
|
|
|
401
422
|
* fix: rework interaction with metadata and generating modules from metadata
|
|
402
423
|
|
|
@@ -430,7 +451,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
|
430
451
|
|
|
431
452
|
### Bug Fixes
|
|
432
453
|
|
|
433
|
-
* remove private dependencies from `peerDependencies`
|
|
454
|
+
* remove private dependencies from `peerDependencies`
|
|
455
|
+
section ([0bce6ff](https://github.com/R-Vision/rsdk/commit/0bce6ffb5b699e2ed1dc9aca77cbdbf085267ff7))
|
|
434
456
|
|
|
435
457
|
## 1.0.11 (2023-05-23)
|
|
436
458
|
|
|
@@ -440,7 +462,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
|
440
462
|
|
|
441
463
|
### Bug Fixes
|
|
442
464
|
|
|
443
|
-
* add "access: public" to new
|
|
465
|
+
* add "access: public" to new
|
|
466
|
+
packages ([04d5983](https://github.com/R-Vision/rsdk/commit/04d5983cfa3e97c5d8219e07208a0499a8c6bc83))
|
|
444
467
|
|
|
445
468
|
## 1.0.9 (2023-05-21)
|
|
446
469
|
|
|
@@ -470,7 +493,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
|
470
493
|
|
|
471
494
|
### Bug Fixes
|
|
472
495
|
|
|
473
|
-
* builtin make not private in
|
|
496
|
+
* builtin make not private in
|
|
497
|
+
npm ([50c83b6](https://github.com/R-Vision/rsdk/commit/50c83b6454f9a89f1e99d3b33a497ce2c029d8c6))
|
|
474
498
|
|
|
475
499
|
## 1.0.2 (2023-05-10)
|
|
476
500
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GRPC_PROTOCOL = "grpc";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,MAAM,CAAC"}
|
|
@@ -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;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1.base.controller.js","sourceRoot":"","sources":["../../../src/controllers/reflection/v1.base.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AACtC,2CAAiE;AAMjE,qCAA0C;AAG1C,+BAA+B;AAE/B,mDAA+C;AAC/C,iEAA6D;AAE7D;;;;;;;;GAQG;AACH,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAItB;IACiC;IACN;IAH9C,YACmB,MAAkB,EACe,MAAe,EACrB,OAA0B;QAFrD,WAAM,GAAN,MAAM,CAAY;QACe,WAAM,GAAN,MAAM,CAAS;QACrB,YAAO,GAAP,OAAO,CAAmB;IACrE,CAAC;IAEJ;;;;;;OAMG;IACH,oBAAoB,CAClB,QAA6C;QAE7C,MAAM,SAAS,GAAG,IAAI,cAAO,EAA4B,CAAC;QAE1D,QAAQ,CAAC,SAAS,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAC1B,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBACnC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;YACxC,QAAQ,EAAE,GAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE;SAC3C,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAEO,YAAY,CAClB,OAAgC;QAEhC,IAAI,OAAO,CAAC,cAAc,EAAE,KAAK,KAAK,cAAc,EAAE;
|
|
1
|
+
{"version":3,"file":"v1.base.controller.js","sourceRoot":"","sources":["../../../src/controllers/reflection/v1.base.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { ArgumentsHost } from '@nestjs/common';
|
|
2
1
|
import type { IErrorsFormatter } from '@rsdk/core';
|
|
3
2
|
import { ExceptionKind } from '@rsdk/core';
|
|
4
3
|
import type { FormattedGrpcError } from './types';
|
|
5
4
|
export declare class GrpcErrorsFormatter implements IErrorsFormatter {
|
|
6
5
|
static readonly defaultKind = ExceptionKind.UNKNOWN;
|
|
6
|
+
protocol: string;
|
|
7
7
|
private readonly statusMap;
|
|
8
|
-
match(host: ArgumentsHost): boolean;
|
|
9
8
|
format(ex: unknown, verboseErrors?: boolean): FormattedGrpcError;
|
|
10
9
|
}
|
|
@@ -26,8 +26,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.GrpcErrorsFormatter = void 0;
|
|
27
27
|
const grpc = __importStar(require("@grpc/grpc-js"));
|
|
28
28
|
const core_1 = require("@rsdk/core");
|
|
29
|
+
const constants_1 = require("./constants");
|
|
29
30
|
class GrpcErrorsFormatter {
|
|
30
31
|
static defaultKind = core_1.ExceptionKind.UNKNOWN;
|
|
32
|
+
protocol = constants_1.GRPC_PROTOCOL;
|
|
31
33
|
statusMap = {
|
|
32
34
|
[core_1.ExceptionKind.AUTHENTICATION]: grpc.status.UNAUTHENTICATED,
|
|
33
35
|
[core_1.ExceptionKind.NOT_ALLOWED]: grpc.status.PERMISSION_DENIED,
|
|
@@ -40,9 +42,6 @@ class GrpcErrorsFormatter {
|
|
|
40
42
|
[core_1.ExceptionKind.UNAVAILABLE]: grpc.status.UNAVAILABLE,
|
|
41
43
|
[core_1.ExceptionKind.UNKNOWN]: grpc.status.UNKNOWN,
|
|
42
44
|
};
|
|
43
|
-
match(host) {
|
|
44
|
-
return host.getType() === 'rpc';
|
|
45
|
-
}
|
|
46
45
|
format(ex, verboseErrors) {
|
|
47
46
|
if (ex instanceof core_1.PipelineException) {
|
|
48
47
|
const message = verboseErrors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-errors.formatter.js","sourceRoot":"","sources":["../src/grpc-errors.formatter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;
|
|
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,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,wBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACjE,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,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxC,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,CAAE,EAAU,EAAE,OAAO,IAAI,gBAAgB;gBAC1C,CAAC,CAAC,gBAAgB;YACpB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAE,EAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;YAClD,IAAI,EAAG,EAAU,EAAE,IAAI,IAAI,mBAAmB,CAAC,WAAW;YAC1D,aAAa,EAAG,EAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC7C,CAAC;IACJ,CAAC;;AA1CH,kDA2CC"}
|
|
@@ -3,6 +3,6 @@ import type { IErrorsSender } from '@rsdk/core';
|
|
|
3
3
|
import type { EMPTY, Observable } from 'rxjs';
|
|
4
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;
|
|
8
8
|
}
|
|
@@ -7,10 +7,9 @@ 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
11
|
class GrpcErrorsSender {
|
|
11
|
-
|
|
12
|
-
return host.getType() === 'rpc';
|
|
13
|
-
}
|
|
12
|
+
protocol = constants_1.GRPC_PROTOCOL;
|
|
14
13
|
send(_host, ex) {
|
|
15
14
|
const niceGrpcMetadata = (0, nice_grpc_1.Metadata)();
|
|
16
15
|
const status = grpc_error_v1_1.Status.fromPartial({
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,10 +1,12 @@
|
|
|
1
1
|
import type { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common/interfaces';
|
|
2
|
+
import { ProtocolDetector } from '@rsdk/core';
|
|
2
3
|
import { ILogger } from '@rsdk/logging';
|
|
3
4
|
import type { Observable } from 'rxjs';
|
|
4
5
|
import { GRPCConfig } from './grpc.config';
|
|
5
6
|
export declare class GrpcLoggerInterceptor implements NestInterceptor {
|
|
6
7
|
private logger;
|
|
7
8
|
private grpcConfig;
|
|
8
|
-
|
|
9
|
+
private detector;
|
|
10
|
+
constructor(logger: ILogger, grpcConfig: GRPCConfig, detector: ProtocolDetector);
|
|
9
11
|
intercept(context: ExecutionContext, next: CallHandler<any>): Observable<any> | Promise<Observable<any>>;
|
|
10
12
|
}
|
|
@@ -19,15 +19,18 @@ const grpc_config_1 = require("./grpc.config");
|
|
|
19
19
|
let GrpcLoggerInterceptor = class GrpcLoggerInterceptor {
|
|
20
20
|
logger;
|
|
21
21
|
grpcConfig;
|
|
22
|
-
|
|
22
|
+
detector;
|
|
23
|
+
constructor(logger, grpcConfig, detector) {
|
|
23
24
|
this.logger = logger;
|
|
24
25
|
this.grpcConfig = grpcConfig;
|
|
26
|
+
this.detector = detector;
|
|
25
27
|
}
|
|
26
28
|
intercept(context, next) {
|
|
27
29
|
if (!this.grpcConfig.requestLogging) {
|
|
28
30
|
return next.handle();
|
|
29
31
|
}
|
|
30
|
-
const
|
|
32
|
+
const protocol = this.detector.getProtocol(context);
|
|
33
|
+
const isRpc = protocol === 'grpc';
|
|
31
34
|
if (!isRpc) {
|
|
32
35
|
return next.handle();
|
|
33
36
|
}
|
|
@@ -68,6 +71,7 @@ let GrpcLoggerInterceptor = class GrpcLoggerInterceptor {
|
|
|
68
71
|
exports.GrpcLoggerInterceptor = GrpcLoggerInterceptor;
|
|
69
72
|
exports.GrpcLoggerInterceptor = GrpcLoggerInterceptor = __decorate([
|
|
70
73
|
__param(0, (0, core_1.InjectLogger)(GrpcLoggerInterceptor)),
|
|
71
|
-
__metadata("design:paramtypes", [Object, grpc_config_1.GRPCConfig
|
|
74
|
+
__metadata("design:paramtypes", [Object, grpc_config_1.GRPCConfig,
|
|
75
|
+
core_1.ProtocolDetector])
|
|
72
76
|
], GrpcLoggerInterceptor);
|
|
73
77
|
//# sourceMappingURL=grpc-logger.interceptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-logger.interceptor.js","sourceRoot":"","sources":["../src/grpc-logger.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,
|
|
1
|
+
{"version":3,"file":"grpc-logger.interceptor.js","sourceRoot":"","sources":["../src/grpc-logger.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,qCAA4D;AAG5D,+BAAmD;AAEnD,+CAA2C;AAE3C,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAEe;IACrC;IACA;IAHV,YAC+C,MAAe,EACpD,UAAsB,EACtB,QAA0B;QAFW,WAAM,GAAN,MAAM,CAAS;QACpD,eAAU,GAAV,UAAU,CAAY;QACtB,aAAQ,GAAR,QAAQ,CAAkB;IACjC,CAAC;IAEJ,SAAS,CACP,OAAyB,EACzB,IAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,QAAQ,KAAK,MAAM,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAElC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,UAAU,CAAC;QAC3D,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE;YACnB,GAAG,EAAE,aAAa;SACnB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;YACxC,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,iBAAU,EAAC,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;gBAClD,OAAO,EAAE,aAAa;gBACtB,SAAS;gBACT,OAAO;gBACP,QAAQ,EAAE,OAAO,GAAG,SAAS;gBAC7B,KAAK;aACN,CAAC,CAAC;YACH,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,EACF,IAAA,UAAG,EAAC,CAAC,QAAQ,EAAE,EAAE;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;gBACvC,OAAO,EAAE,aAAa;gBACtB,SAAS;gBACT,OAAO;gBACP,QAAQ,EAAE,OAAO,GAAG,SAAS;gBAC7B,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA9DY,sDAAqB;gCAArB,qBAAqB;IAE7B,WAAA,IAAA,mBAAY,EAAC,qBAAqB,CAAC,CAAA;6CAChB,wBAAU;QACZ,uBAAgB;GAJzB,qBAAqB,CA8DjC"}
|
package/dist/grpc.transport.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import type { Controller } from '@nestjs/common/interfaces';
|
|
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
4
|
import type { ConfigContext, IErrorsFormatter, IErrorsSender, IErrorsTransformer, IMicroserviceTransport, NestModuleDefinitions } from '@rsdk/core';
|
|
5
5
|
import type { Package } from '@rsdk/grpc.loader';
|
|
6
6
|
export declare class GrpcTransport implements IMicroserviceTransport {
|
|
7
|
-
private readonly systemPackages;
|
|
8
7
|
private readonly logger;
|
|
9
8
|
private readonly packages;
|
|
10
9
|
private address?;
|
|
11
10
|
private maxRecv?;
|
|
12
11
|
private maxSend?;
|
|
13
12
|
private isInitialized;
|
|
13
|
+
private readonly systemPackages;
|
|
14
14
|
constructor(...packages: Package[]);
|
|
15
|
+
matchByContext(ctx: ExecutionContext): boolean;
|
|
15
16
|
getProtocol(): string;
|
|
16
17
|
getErrorsFormatter(): IErrorsFormatter;
|
|
17
18
|
getErrorsSender(): IErrorsSender;
|
package/dist/grpc.transport.js
CHANGED
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.GrpcTransport = void 0;
|
|
7
|
+
const server_call_1 = require("@grpc/grpc-js/build/src/server-call");
|
|
7
8
|
const core_1 = require("@nestjs/core");
|
|
8
9
|
const grpc_health_v1_1 = __importDefault(require("@rsdk/builtin-contract/dist/grpc.health.v1"));
|
|
9
10
|
const grpc_metrics_v1_1 = __importDefault(require("@rsdk/builtin-contract/dist/grpc.metrics.v1"));
|
|
@@ -12,6 +13,7 @@ const grpc_reflection_v1alpha_1 = __importDefault(require("@rsdk/builtin-contrac
|
|
|
12
13
|
const core_2 = require("@rsdk/core");
|
|
13
14
|
const grpc_loader_1 = require("@rsdk/grpc.loader");
|
|
14
15
|
const logging_1 = require("@rsdk/logging");
|
|
16
|
+
const constants_1 = require("./constants");
|
|
15
17
|
const controllers_1 = require("./controllers");
|
|
16
18
|
const grpc_config_1 = require("./grpc.config");
|
|
17
19
|
const grpc_utils_1 = require("./grpc.utils");
|
|
@@ -20,23 +22,32 @@ const grpc_errors_sender_1 = require("./grpc-errors.sender");
|
|
|
20
22
|
const grpc_logger_interceptor_1 = require("./grpc-logger.interceptor");
|
|
21
23
|
const reflection_module_1 = require("./reflection.module");
|
|
22
24
|
class GrpcTransport {
|
|
23
|
-
systemPackages = [
|
|
24
|
-
grpc_health_v1_1.default,
|
|
25
|
-
grpc_metrics_v1_1.default,
|
|
26
|
-
grpc_reflection_v1_1.default,
|
|
27
|
-
grpc_reflection_v1alpha_1.default,
|
|
28
|
-
];
|
|
29
25
|
logger = logging_1.LoggerFactory.create(GrpcTransport);
|
|
30
26
|
packages;
|
|
31
27
|
address;
|
|
32
28
|
maxRecv;
|
|
33
29
|
maxSend;
|
|
34
30
|
isInitialized = false;
|
|
31
|
+
systemPackages = [
|
|
32
|
+
grpc_health_v1_1.default,
|
|
33
|
+
grpc_metrics_v1_1.default,
|
|
34
|
+
grpc_reflection_v1_1.default,
|
|
35
|
+
grpc_reflection_v1alpha_1.default,
|
|
36
|
+
];
|
|
35
37
|
constructor(...packages) {
|
|
36
38
|
this.packages = packages;
|
|
37
39
|
}
|
|
40
|
+
matchByContext(ctx) {
|
|
41
|
+
const call = ctx.getArgByIndex(2);
|
|
42
|
+
const isGrpc = [
|
|
43
|
+
server_call_1.ServerUnaryCallImpl,
|
|
44
|
+
server_call_1.ServerDuplexStreamImpl,
|
|
45
|
+
server_call_1.ServerWritableStreamImpl,
|
|
46
|
+
].some((impl) => call instanceof impl);
|
|
47
|
+
return isGrpc;
|
|
48
|
+
}
|
|
38
49
|
getProtocol() {
|
|
39
|
-
return
|
|
50
|
+
return constants_1.GRPC_PROTOCOL;
|
|
40
51
|
}
|
|
41
52
|
getErrorsFormatter() {
|
|
42
53
|
return new grpc_errors_formatter_1.GrpcErrorsFormatter();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflection.service.js","sourceRoot":"","sources":["../src/reflection.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,iDAK4B;AAE5B,2CAAoD;AACpD,gGAA2E;AAC3E,kGAA6E;AAC7E,wGAAqF;AACrF,kHAA+F;AAE/F,2CAA8C;AAGvC,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAK0B;IAJrC,QAAQ,GAAgB,IAAI,GAAG,EAAE,CAAC;IAClC,KAAK,GAA0B,EAAE,CAAC;IAClC,MAAM,GAAG,uBAAa,CAAC,MAAM,CAAC,mBAAiB,CAAC,CAAC;IAElE,YAAsD,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;IAAG,CAAC;IAE7E,YAAY;QACV,MAAM,WAAW,GAAG;YAClB,GAAG,IAAI,CAAC,QAAQ;YAChB,wBAAiB;YACjB,yBAAkB;YAClB,4BAAuB;YACvB,iCAA4B;SAC7B,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"reflection.service.js","sourceRoot":"","sources":["../src/reflection.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('@rsdk/jest/jest.config.e2e');
|
package/jest.config.js
CHANGED
|
@@ -1,11 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const { resolve } = require('node:path');
|
|
3
|
-
|
|
4
|
-
/** @type {import('ts-jest').JestConfigWithTsJest} */
|
|
5
|
-
module.exports = {
|
|
6
|
-
preset: 'ts-jest',
|
|
7
|
-
testEnvironment: 'node',
|
|
8
|
-
|
|
9
|
-
setupFiles: ['dotenv/config'],
|
|
10
|
-
rootDir: resolve(__dirname, 'src'),
|
|
11
|
-
};
|
|
1
|
+
module.exports = require('@rsdk/jest/jest.config');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('@rsdk/jest/jest.config.unit');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/grpc.server",
|
|
3
|
-
"version": "4.0.0-next.
|
|
3
|
+
"version": "4.0.0-next.16",
|
|
4
4
|
"description": "Grpc transport for platform, clients and common grpc stuff",
|
|
5
5
|
"license": "Apache License 2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"@nestjs/common": "^10.0.0",
|
|
19
19
|
"@nestjs/core": "^10.0.0",
|
|
20
20
|
"@nestjs/microservices": "^10.0.0",
|
|
21
|
-
"@rsdk/builtin-contract": "^4.0.0-next.
|
|
22
|
-
"@rsdk/common": "^4.0.0-next.
|
|
23
|
-
"@rsdk/core": "^4.0.0-next.
|
|
24
|
-
"@rsdk/grpc.common": "^4.0.0-next.
|
|
25
|
-
"@rsdk/grpc.loader": "^4.0.0-next.
|
|
26
|
-
"@rsdk/logging": "^4.0.0-next.
|
|
21
|
+
"@rsdk/builtin-contract": "^4.0.0-next.16",
|
|
22
|
+
"@rsdk/common": "^4.0.0-next.16",
|
|
23
|
+
"@rsdk/core": "^4.0.0-next.16",
|
|
24
|
+
"@rsdk/grpc.common": "^4.0.0-next.16",
|
|
25
|
+
"@rsdk/grpc.loader": "^4.0.0-next.16",
|
|
26
|
+
"@rsdk/logging": "^4.0.0-next.16",
|
|
27
27
|
"nice-grpc": "^2.1.4",
|
|
28
28
|
"reflect-metadata": "^0.1.13",
|
|
29
29
|
"rxjs": "^7.8.1"
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@bufbuild/protobuf": "^1.4.2"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "07aa2600fa268af9225acbb5c97479e7e26d671a"
|
|
35
35
|
}
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const GRPC_PROTOCOL = 'grpc';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as grpc from '@grpc/grpc-js';
|
|
2
|
-
import type { ArgumentsHost } from '@nestjs/common';
|
|
3
2
|
import type { IErrorsFormatter } from '@rsdk/core';
|
|
4
3
|
import { ExceptionKind, PipelineException } from '@rsdk/core';
|
|
5
4
|
|
|
5
|
+
import { GRPC_PROTOCOL } from './constants';
|
|
6
6
|
import type { FormattedGrpcError } from './types';
|
|
7
7
|
|
|
8
8
|
export class GrpcErrorsFormatter implements IErrorsFormatter {
|
|
9
9
|
static readonly defaultKind = ExceptionKind.UNKNOWN;
|
|
10
|
+
protocol = GRPC_PROTOCOL;
|
|
10
11
|
private readonly statusMap: Record<ExceptionKind, grpc.status> = {
|
|
11
12
|
[ExceptionKind.AUTHENTICATION]: grpc.status.UNAUTHENTICATED,
|
|
12
13
|
[ExceptionKind.NOT_ALLOWED]: grpc.status.PERMISSION_DENIED,
|
|
@@ -20,10 +21,6 @@ export class GrpcErrorsFormatter implements IErrorsFormatter {
|
|
|
20
21
|
[ExceptionKind.UNKNOWN]: grpc.status.UNKNOWN,
|
|
21
22
|
};
|
|
22
23
|
|
|
23
|
-
match(host: ArgumentsHost): boolean {
|
|
24
|
-
return host.getType() === 'rpc';
|
|
25
|
-
}
|
|
26
|
-
|
|
27
24
|
format(ex: unknown, verboseErrors?: boolean): FormattedGrpcError {
|
|
28
25
|
if (ex instanceof PipelineException) {
|
|
29
26
|
const message = verboseErrors
|
|
@@ -8,12 +8,11 @@ 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';
|
|
11
12
|
import type { FormattedGrpcError } from './types';
|
|
12
13
|
|
|
13
14
|
export class GrpcErrorsSender implements IErrorsSender {
|
|
14
|
-
|
|
15
|
-
return host.getType() === 'rpc';
|
|
16
|
-
}
|
|
15
|
+
protocol = GRPC_PROTOCOL;
|
|
17
16
|
|
|
18
17
|
send(
|
|
19
18
|
_host: ArgumentsHost,
|
|
@@ -3,7 +3,7 @@ import type {
|
|
|
3
3
|
ExecutionContext,
|
|
4
4
|
NestInterceptor,
|
|
5
5
|
} from '@nestjs/common/interfaces';
|
|
6
|
-
import { InjectLogger } from '@rsdk/core';
|
|
6
|
+
import { InjectLogger, ProtocolDetector } from '@rsdk/core';
|
|
7
7
|
import { ILogger } from '@rsdk/logging';
|
|
8
8
|
import type { Observable } from 'rxjs';
|
|
9
9
|
import { catchError, tap, throwError } from 'rxjs';
|
|
@@ -14,6 +14,7 @@ export class GrpcLoggerInterceptor implements NestInterceptor {
|
|
|
14
14
|
constructor(
|
|
15
15
|
@InjectLogger(GrpcLoggerInterceptor) private logger: ILogger,
|
|
16
16
|
private grpcConfig: GRPCConfig,
|
|
17
|
+
private detector: ProtocolDetector,
|
|
17
18
|
) {}
|
|
18
19
|
|
|
19
20
|
intercept(
|
|
@@ -23,7 +24,9 @@ export class GrpcLoggerInterceptor implements NestInterceptor {
|
|
|
23
24
|
if (!this.grpcConfig.requestLogging) {
|
|
24
25
|
return next.handle();
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
+
|
|
28
|
+
const protocol = this.detector.getProtocol(context);
|
|
29
|
+
const isRpc = protocol === 'grpc';
|
|
27
30
|
if (!isRpc) {
|
|
28
31
|
return next.handle();
|
|
29
32
|
}
|
package/src/grpc.transport.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
ServerDuplexStreamImpl,
|
|
3
|
+
ServerUnaryCallImpl,
|
|
4
|
+
ServerWritableStreamImpl,
|
|
5
|
+
} from '@grpc/grpc-js/build/src/server-call';
|
|
6
|
+
import type { Controller, ExecutionContext } from '@nestjs/common/interfaces';
|
|
2
7
|
import { APP_INTERCEPTOR } from '@nestjs/core';
|
|
3
8
|
import type { MicroserviceOptions } from '@nestjs/microservices';
|
|
4
9
|
import HealthGrpcPackage from '@rsdk/builtin-contract/dist/grpc.health.v1';
|
|
@@ -19,6 +24,7 @@ import type { Package } from '@rsdk/grpc.loader';
|
|
|
19
24
|
import { createGrpcOptions } from '@rsdk/grpc.loader';
|
|
20
25
|
import { LoggerFactory } from '@rsdk/logging';
|
|
21
26
|
|
|
27
|
+
import { GRPC_PROTOCOL } from './constants';
|
|
22
28
|
import { HealthController, MetricsController } from './controllers';
|
|
23
29
|
import { GRPCConfig } from './grpc.config';
|
|
24
30
|
import { isPackageNotIncluded } from './grpc.utils';
|
|
@@ -28,13 +34,6 @@ import { GrpcLoggerInterceptor } from './grpc-logger.interceptor';
|
|
|
28
34
|
import { ReflectionModule } from './reflection.module';
|
|
29
35
|
|
|
30
36
|
export class GrpcTransport implements IMicroserviceTransport {
|
|
31
|
-
private readonly systemPackages: Package[] = [
|
|
32
|
-
HealthGrpcPackage,
|
|
33
|
-
MetricsGrpcPackage,
|
|
34
|
-
ReflectionGrpcPackageV1,
|
|
35
|
-
ReflectionGrpcPackageV1alpha,
|
|
36
|
-
];
|
|
37
|
-
|
|
38
37
|
private readonly logger = LoggerFactory.create(GrpcTransport);
|
|
39
38
|
private readonly packages: Package[];
|
|
40
39
|
|
|
@@ -44,12 +43,31 @@ export class GrpcTransport implements IMicroserviceTransport {
|
|
|
44
43
|
|
|
45
44
|
private isInitialized = false;
|
|
46
45
|
|
|
46
|
+
private readonly systemPackages: Package[] = [
|
|
47
|
+
HealthGrpcPackage,
|
|
48
|
+
MetricsGrpcPackage,
|
|
49
|
+
ReflectionGrpcPackageV1,
|
|
50
|
+
ReflectionGrpcPackageV1alpha,
|
|
51
|
+
];
|
|
52
|
+
|
|
47
53
|
constructor(...packages: Package[]) {
|
|
48
54
|
this.packages = packages;
|
|
49
55
|
}
|
|
50
56
|
|
|
57
|
+
matchByContext(ctx: ExecutionContext): boolean {
|
|
58
|
+
const call = ctx.getArgByIndex(2);
|
|
59
|
+
|
|
60
|
+
const isGrpc = [
|
|
61
|
+
ServerUnaryCallImpl,
|
|
62
|
+
ServerDuplexStreamImpl,
|
|
63
|
+
ServerWritableStreamImpl,
|
|
64
|
+
].some((impl) => call instanceof impl);
|
|
65
|
+
|
|
66
|
+
return isGrpc;
|
|
67
|
+
}
|
|
68
|
+
|
|
51
69
|
getProtocol(): string {
|
|
52
|
-
return
|
|
70
|
+
return GRPC_PROTOCOL;
|
|
53
71
|
}
|
|
54
72
|
|
|
55
73
|
getErrorsFormatter(): IErrorsFormatter {
|
package/tsconfig.json
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
2
|
"extends": "@rsdk/tsconfig/base.json",
|
|
4
3
|
"compilerOptions": {
|
|
5
4
|
"declaration": true,
|
|
6
5
|
"outDir": "dist"
|
|
7
6
|
},
|
|
8
|
-
"include": [
|
|
9
|
-
|
|
7
|
+
"include": [
|
|
8
|
+
"src/**/*"
|
|
9
|
+
],
|
|
10
|
+
"exclude": [
|
|
11
|
+
"node_modules",
|
|
12
|
+
"dist",
|
|
13
|
+
"test",
|
|
14
|
+
"**/*.spec.ts",
|
|
15
|
+
"**/*.test.ts",
|
|
16
|
+
"**/*.spec.e2e.ts",
|
|
17
|
+
"**/*.test.e2e.ts"
|
|
18
|
+
]
|
|
10
19
|
}
|