@rsdk/grpc.clients 4.0.0-next.13 → 4.0.0-next.15
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 +51 -20
- package/dist/metadata/grpc-clients-factory.autodoc-resolver.js.map +1 -1
- package/dist/metadata/grpc-clients.autodoc-resolver.js.map +1 -1
- package/dist/middleware/exception-mapper.middleware.js.map +1 -1
- package/dist/middleware/opentelemetry.middleware.d.ts +5 -0
- package/dist/middleware/opentelemetry.middleware.js +32 -0
- package/dist/middleware/opentelemetry.middleware.js.map +1 -0
- package/dist/middleware/request-metadata.middleware.d.ts +5 -0
- package/dist/middleware/request-metadata.middleware.js +29 -0
- package/dist/middleware/request-metadata.middleware.js.map +1 -0
- package/dist/repository/grpc-client.repository.js +5 -3
- package/dist/repository/grpc-client.repository.js.map +1 -1
- package/dist/servers/grpc.servers.js.map +1 -1
- package/package.json +11 -12
- package/src/middleware/opentelemetry.middleware.ts +36 -0
- package/src/middleware/request-metadata.middleware.ts +30 -0
- package/src/repository/grpc-client.repository.ts +5 -3
- package/tsconfig.json +12 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
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.15](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.14...v4.0.0-next.15) (2023-11-30)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added protocol detector ([#166](https://github.com/R-Vision/rsdk/issues/166)) ([f348995](https://github.com/R-Vision/rsdk/commit/f348995f29648c7392b7375c5b2001197d60eb36))
|
|
11
|
+
|
|
12
|
+
## [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)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **core:** PFM-601 Add support send trace id from client to server ([#164](https://github.com/R-Vision/rsdk/issues/164)) ([9e37243](https://github.com/R-Vision/rsdk/commit/9e372437fbb3d7d2b1167b99d07b0ac64cb4013d)), closes [#pfm-601](https://github.com/R-Vision/rsdk/issues/pfm-601) [#pfm-601](https://github.com/R-Vision/rsdk/issues/pfm-601)
|
|
17
|
+
|
|
6
18
|
## [4.0.0-next.13](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.12...v4.0.0-next.13) (2023-11-29)
|
|
7
19
|
|
|
8
20
|
**Note:** Version bump only for package @rsdk/grpc.clients
|
|
@@ -27,7 +39,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
27
39
|
|
|
28
40
|
### Features
|
|
29
41
|
|
|
30
|
-
* Kafka batch
|
|
42
|
+
* Kafka batch
|
|
43
|
+
producer ([#150](https://github.com/R-Vision/rsdk/issues/150)) ([2faa2f4](https://github.com/R-Vision/rsdk/commit/2faa2f41ca0dbb6d8a92cbf0ab20cf5cefeaf4e9))
|
|
31
44
|
|
|
32
45
|
## [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)
|
|
33
46
|
|
|
@@ -49,7 +62,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
49
62
|
|
|
50
63
|
### Bug Fixes
|
|
51
64
|
|
|
52
|
-
* all yarn peers dependency
|
|
65
|
+
* all yarn peers dependency
|
|
66
|
+
issues ([e0db9ef](https://github.com/R-Vision/rsdk/commit/e0db9ef1ab8a4df4e1f8ff6f6a9e3728f497549b))
|
|
53
67
|
|
|
54
68
|
## [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)
|
|
55
69
|
|
|
@@ -207,7 +221,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
207
221
|
|
|
208
222
|
### Bug Fixes
|
|
209
223
|
|
|
210
|
-
* **grpc-clients:** exceptionMiddleware added to index
|
|
224
|
+
* **grpc-clients:** exceptionMiddleware added to index
|
|
225
|
+
reexport ([65dde0d](https://github.com/R-Vision/rsdk/commit/65dde0d165839a8af4d71d9b3919c8128ad46a4f))
|
|
211
226
|
|
|
212
227
|
## [3.1.0-next.2](https://github.com/R-Vision/rsdk/compare/v3.1.0-next.1...v3.1.0-next.2) (2023-08-08)
|
|
213
228
|
|
|
@@ -221,7 +236,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
221
236
|
|
|
222
237
|
### Features
|
|
223
238
|
|
|
224
|
-
* added exception code to
|
|
239
|
+
* added exception code to
|
|
240
|
+
payload ([#92](https://github.com/R-Vision/rsdk/issues/92)) ([6a9565b](https://github.com/R-Vision/rsdk/commit/6a9565b23746122676abb1f5166f9ef8b181864b))
|
|
225
241
|
|
|
226
242
|
## [3.0.2](https://github.com/R-Vision/rsdk/compare/v3.0.1...v3.0.2) (2023-08-07)
|
|
227
243
|
|
|
@@ -231,7 +247,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
231
247
|
|
|
232
248
|
### Bug Fixes
|
|
233
249
|
|
|
234
|
-
* **deps:** correctly
|
|
250
|
+
* **deps:** correctly
|
|
251
|
+
peerDependencies ([349628f](https://github.com/R-Vision/rsdk/commit/349628f10da46a30d6c8b9f9387e010869318212))
|
|
235
252
|
|
|
236
253
|
## [3.0.1-next.0](https://github.com/R-Vision/rsdk/compare/v3.0.0...v3.0.1-next.0) (2023-08-07)
|
|
237
254
|
|
|
@@ -257,7 +274,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
257
274
|
|
|
258
275
|
### Features
|
|
259
276
|
|
|
260
|
-
* **grpc.clients:** grpc rich
|
|
277
|
+
* **grpc.clients:** grpc rich
|
|
278
|
+
error ([#85](https://github.com/R-Vision/rsdk/issues/85)) ([be99f40](https://github.com/R-Vision/rsdk/commit/be99f408295bf1750f6f0c39e067cca971d973e3))
|
|
261
279
|
|
|
262
280
|
# [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)
|
|
263
281
|
|
|
@@ -301,19 +319,22 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
301
319
|
|
|
302
320
|
### Features
|
|
303
321
|
|
|
304
|
-
* **grpc-clients:** added support grpc client
|
|
322
|
+
* **grpc-clients:** added support grpc client
|
|
323
|
+
factory ([#78](https://github.com/R-Vision/rsdk/issues/78)) ([4f9d761](https://github.com/R-Vision/rsdk/commit/4f9d761516abfa0264ee4c707fdd784f7ad9fd0c))
|
|
305
324
|
|
|
306
325
|
# [2.6.0-next.1](https://github.com/R-Vision/rsdk/compare/v2.6.0-next.0...v2.6.0-next.1) (2023-07-04)
|
|
307
326
|
|
|
308
327
|
### Bug Fixes
|
|
309
328
|
|
|
310
|
-
* gRPC error mapping into rsdk
|
|
329
|
+
* gRPC error mapping into rsdk
|
|
330
|
+
exceptions ([8c6a2b8](https://github.com/R-Vision/rsdk/commit/8c6a2b8276a7a309d26bc21e4c9ae36d7ee4210c))
|
|
311
331
|
|
|
312
332
|
# [2.6.0-next.0](https://github.com/R-Vision/rsdk/compare/v2.5.0...v2.6.0-next.0) (2023-07-03)
|
|
313
333
|
|
|
314
334
|
### Bug Fixes
|
|
315
335
|
|
|
316
|
-
* **grpc-clients:** remove verbose generic type for normalize compile (exceeds the maximum
|
|
336
|
+
* **grpc-clients:** remove verbose generic type for normalize compile (exceeds the maximum
|
|
337
|
+
length...) ([e58fee8](https://github.com/R-Vision/rsdk/commit/e58fee8b1e8780deef49fa77ac40c8c0e79d82e5))
|
|
317
338
|
|
|
318
339
|
# [2.5.0](https://github.com/R-Vision/rsdk/compare/v2.4.4-next.0...v2.5.0) (2023-06-23)
|
|
319
340
|
|
|
@@ -367,34 +388,41 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
367
388
|
|
|
368
389
|
### Features
|
|
369
390
|
|
|
370
|
-
* added option define for one server and update
|
|
391
|
+
* added option define for one server and update
|
|
392
|
+
docs ([970e1f3](https://github.com/R-Vision/rsdk/commit/970e1f3104c45bf6c1102c32afc1750e2f7e299b))
|
|
371
393
|
|
|
372
394
|
# [2.1.0](https://github.com/R-Vision/rsdk/compare/v2.0.0...v2.1.0) (2023-06-06)
|
|
373
395
|
|
|
374
396
|
### Features
|
|
375
397
|
|
|
376
|
-
* parse camelCase servername for configuration
|
|
398
|
+
* parse camelCase servername for configuration
|
|
399
|
+
property ([8b60809](https://github.com/R-Vision/rsdk/commit/8b608093e745846fdaca60fc4fbb3da9da64a945))
|
|
377
400
|
|
|
378
401
|
# [2.0.0](https://github.com/R-Vision/rsdk/compare/v1.0.12...v2.0.0) (2023-06-06)
|
|
379
402
|
|
|
380
403
|
### Bug Fixes
|
|
381
404
|
|
|
382
|
-
* **autodoc:** correct resolve metadata for
|
|
383
|
-
|
|
384
|
-
*
|
|
405
|
+
* **autodoc:** correct resolve metadata for
|
|
406
|
+
autodoc ([5e51fe2](https://github.com/R-Vision/rsdk/commit/5e51fe25e48b41f184e667ca94b7225bbc43696e))
|
|
407
|
+
* cycle deps, remove outDir from base.json in tsconfig, rework interact with AutodocMetadata and RsdkMetadata, fix
|
|
408
|
+
unprovided imports ([cc6434b](https://github.com/R-Vision/rsdk/commit/cc6434b9d165e570bdbb2baad76b00acd14577b2))
|
|
409
|
+
* table node expects only `Record<string, string>`, not Record<string,
|
|
410
|
+
any> ([#35](https://github.com/R-Vision/rsdk/issues/35)) ([f64bc29](https://github.com/R-Vision/rsdk/commit/f64bc29a4879d8565992a1e16e9b045dcf20d6e2))
|
|
385
411
|
|
|
386
412
|
### Draft
|
|
387
413
|
|
|
388
|
-
* 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))
|
|
389
416
|
|
|
390
417
|
### Features
|
|
391
418
|
|
|
392
|
-
* added tokens for mock in
|
|
419
|
+
* added tokens for mock in
|
|
420
|
+
tests ([#43](https://github.com/R-Vision/rsdk/issues/43)) ([e743e51](https://github.com/R-Vision/rsdk/commit/e743e51016b0d88df12785816d33c9ccb91dbc26))
|
|
393
421
|
|
|
394
422
|
### BREAKING CHANGES
|
|
395
423
|
|
|
396
424
|
* GrpcClientModule removed
|
|
397
|
-
new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
425
|
+
new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
398
426
|
|
|
399
427
|
* fix: rework interaction with metadata and generating modules from metadata
|
|
400
428
|
|
|
@@ -428,7 +456,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
|
428
456
|
|
|
429
457
|
### Bug Fixes
|
|
430
458
|
|
|
431
|
-
* remove private dependencies from `peerDependencies`
|
|
459
|
+
* remove private dependencies from `peerDependencies`
|
|
460
|
+
section ([0bce6ff](https://github.com/R-Vision/rsdk/commit/0bce6ffb5b699e2ed1dc9aca77cbdbf085267ff7))
|
|
432
461
|
|
|
433
462
|
## 1.0.11 (2023-05-23)
|
|
434
463
|
|
|
@@ -438,7 +467,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
|
438
467
|
|
|
439
468
|
### Bug Fixes
|
|
440
469
|
|
|
441
|
-
* add "access: public" to new
|
|
470
|
+
* add "access: public" to new
|
|
471
|
+
packages ([04d5983](https://github.com/R-Vision/rsdk/commit/04d5983cfa3e97c5d8219e07208a0499a8c6bc83))
|
|
442
472
|
|
|
443
473
|
## 1.0.9 (2023-05-21)
|
|
444
474
|
|
|
@@ -468,7 +498,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
|
|
|
468
498
|
|
|
469
499
|
### Bug Fixes
|
|
470
500
|
|
|
471
|
-
* builtin make not private in
|
|
501
|
+
* builtin make not private in
|
|
502
|
+
npm ([50c83b6](https://github.com/R-Vision/rsdk/commit/50c83b6454f9a89f1e99d3b33a497ce2c029d8c6))
|
|
472
503
|
|
|
473
504
|
## 1.0.2 (2023-05-10)
|
|
474
505
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-clients-factory.autodoc-resolver.js","sourceRoot":"","sources":["../../src/metadata/grpc-clients-factory.autodoc-resolver.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAM1D,2CAAuE;AAEvE,MAAM,iCAAiC;IACrC,OAAO,CAAC,YAAkC;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAChC,oDAAwC,CACzC,CAAC;QACF,IAAI,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"grpc-clients-factory.autodoc-resolver.js","sourceRoot":"","sources":["../../src/metadata/grpc-clients-factory.autodoc-resolver.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAM1D,2CAAuE;AAEvE,MAAM,iCAAiC;IACrC,OAAO,CAAC,YAAkC;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAChC,oDAAwC,CACzC,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,4BAAS,CAClB,IAAI,wBAAK,CACP,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;SACzC,CAAC,CAAC,CACJ,EACD,sBAAsB,CACvB,CAAC;IACJ,CAAC;CACF;AAEY,QAAA,iCAAiC,GAC5C,IAAI,iCAAiC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-clients.autodoc-resolver.js","sourceRoot":"","sources":["../../src/metadata/grpc-clients.autodoc-resolver.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAM1D,2CAA+D;AAE/D,MAAM,yBAAyB;IAC7B,OAAO,CAAC,YAAkC;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAChC,4CAAgC,CACjC,CAAC;QACF,IAAI,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"grpc-clients.autodoc-resolver.js","sourceRoot":"","sources":["../../src/metadata/grpc-clients.autodoc-resolver.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAM1D,2CAA+D;AAE/D,MAAM,yBAAyB;IAC7B,OAAO,CAAC,YAAkC;QACxC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAChC,4CAAgC,CACjC,CAAC;QACF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,4BAAS,CAClB,IAAI,wBAAK,CACP,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,UAAU;YACV,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE;SACzC,CAAC,CAAC,CACJ,EACD,cAAc,CACf,CAAC;IACJ,CAAC;CACF;AAEY,QAAA,yBAAyB,GAAG,IAAI,yBAAyB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception-mapper.middleware.js","sourceRoot":"","sources":["../../src/middleware/exception-mapper.middleware.ts"],"names":[],"mappings":";;;AAAA,2EAAyE;AAEzE,qCASoB;AACpB,yCAAkE;AAGlE;;GAEG;AACI,MAAM,yBAAyB,GAAG,GAAqB,EAAE;AAC9D,+DAA+D;AAC/D,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO;IAC5B,IAAI,MAA0B,CAAC;IAE/B,IAAI;
|
|
1
|
+
{"version":3,"file":"exception-mapper.middleware.js","sourceRoot":"","sources":["../../src/middleware/exception-mapper.middleware.ts"],"names":[],"mappings":";;;AAAA,2EAAyE;AAEzE,qCASoB;AACpB,yCAAkE;AAGlE;;GAEG;AACI,MAAM,yBAAyB,GAAG,GAAqB,EAAE;AAC9D,+DAA+D;AAC/D,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO;IAC5B,IAAI,MAA0B,CAAC;IAE/B,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACpC,GAAG,OAAO;YACV;;;eAGG;YACH,SAAS,CAAC,OAAO;gBACf,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAE7D,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;oBAC1B,MAAM,GAAG,cAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxC,CAAC;gBAED,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAW,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,wBAAiB,CAAC,qCAAqC,EAAE;gBACjE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,mBAAmB,CAAC;QACxE,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,IAAI,EAAE,MAAM,EAAE,aAAa;YAC3B,KAAK,EAAE,KAAK;SACb,CAAC;QAEF;;WAEG;QAEH,qDAAqD;QACrD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,kBAAc,CAAC,iBAAiB;gBACnC,MAAM,IAAI,uBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7C,KAAK,kBAAc,CAAC,gBAAgB;gBAClC,MAAM,IAAI,qBAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,KAAK,kBAAc,CAAC,cAAc;gBAChC,MAAM,IAAI,+BAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,KAAK,kBAAc,CAAC,mBAAmB;gBACrC,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C,KAAK,kBAAc,CAAC,eAAe;gBACjC,MAAM,IAAI,oBAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1C,KAAK,kBAAc,CAAC,iBAAiB;gBACnC,MAAM,IAAI,0BAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChD,KAAK,kBAAc,CAAC,SAAS;gBAC3B,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C;gBACE,MAAM,IAAI,wBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AA5DS,QAAA,yBAAyB,6BA4DlC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.opentelemetryMiddleware = void 0;
|
|
4
|
+
const propagator_b3_1 = require("@opentelemetry/propagator-b3");
|
|
5
|
+
const core_1 = require("@rsdk/core");
|
|
6
|
+
const nice_grpc_1 = require("nice-grpc");
|
|
7
|
+
/**
|
|
8
|
+
* Middleware для клиента GRPC, который пробрасывает **traceId** и **spanId** из текущего приложения в стороннее через Metadata
|
|
9
|
+
*/
|
|
10
|
+
const opentelemetryMiddleware = () =>
|
|
11
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
12
|
+
async function* (call, options) {
|
|
13
|
+
const metadata = options.metadata ?? new nice_grpc_1.Metadata();
|
|
14
|
+
const traceId = core_1.ActiveSpanStorage.getInstance()
|
|
15
|
+
?.getActiveSpan()
|
|
16
|
+
?.spanContext().traceId;
|
|
17
|
+
if (traceId) {
|
|
18
|
+
metadata.append(propagator_b3_1.X_B3_TRACE_ID, traceId);
|
|
19
|
+
}
|
|
20
|
+
const spanId = core_1.ActiveSpanStorage.getInstance()
|
|
21
|
+
?.getActiveSpan()
|
|
22
|
+
?.spanContext().spanId;
|
|
23
|
+
if (spanId) {
|
|
24
|
+
metadata.append(propagator_b3_1.X_B3_PARENT_SPAN_ID, spanId);
|
|
25
|
+
}
|
|
26
|
+
options.metadata = metadata;
|
|
27
|
+
return yield* call.next(call.request, {
|
|
28
|
+
...options,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.opentelemetryMiddleware = opentelemetryMiddleware;
|
|
32
|
+
//# sourceMappingURL=opentelemetry.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opentelemetry.middleware.js","sourceRoot":"","sources":["../../src/middleware/opentelemetry.middleware.ts"],"names":[],"mappings":";;;AAAA,gEAGsC;AACtC,qCAA+C;AAE/C,yCAAqC;AAErC;;GAEG;AACI,MAAM,uBAAuB,GAAG,GAAqB,EAAE;AAC5D,+DAA+D;AAC/D,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,oBAAQ,EAAE,CAAC;IAEpD,MAAM,OAAO,GAAG,wBAAiB,CAAC,WAAW,EAAE;QAC7C,EAAE,aAAa,EAAE;QACjB,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC;IAC1B,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,MAAM,CAAC,6BAAa,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,wBAAiB,CAAC,WAAW,EAAE;QAC5C,EAAE,aAAa,EAAE;QACjB,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC;IACzB,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,CAAC,MAAM,CAAC,mCAAmB,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE5B,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACpC,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAxBS,QAAA,uBAAuB,2BAwBhC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.requestMetadataMiddleware = void 0;
|
|
4
|
+
const core_1 = require("@rsdk/core");
|
|
5
|
+
const nice_grpc_1 = require("nice-grpc");
|
|
6
|
+
/**
|
|
7
|
+
* Мидл варя для клиента GRPC, для проброса **requestId** из текущего приложения в стороннее через Metadata
|
|
8
|
+
*/
|
|
9
|
+
const requestMetadataMiddleware = () =>
|
|
10
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
11
|
+
async function* (call, options) {
|
|
12
|
+
const requestMetadata = await core_1.RequestMetadataStorage.getInstance()?.getRequestMetadata();
|
|
13
|
+
if (!requestMetadata) {
|
|
14
|
+
return yield* call.next(call.request, {
|
|
15
|
+
...options,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
const metadata = options.metadata ?? new nice_grpc_1.Metadata();
|
|
19
|
+
const requestId = requestMetadata.requestId;
|
|
20
|
+
if (requestId) {
|
|
21
|
+
metadata.append(core_1.X_REQUEST_ID, requestId);
|
|
22
|
+
}
|
|
23
|
+
options.metadata = metadata;
|
|
24
|
+
return yield* call.next(call.request, {
|
|
25
|
+
...options,
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
exports.requestMetadataMiddleware = requestMetadataMiddleware;
|
|
29
|
+
//# sourceMappingURL=request-metadata.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-metadata.middleware.js","sourceRoot":"","sources":["../../src/middleware/request-metadata.middleware.ts"],"names":[],"mappings":";;;AAAA,qCAAkE;AAElE,yCAAqC;AAErC;;GAEG;AACI,MAAM,yBAAyB,GAAG,GAAqB,EAAE;AAC9D,+DAA+D;AAC/D,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO;IAC5B,MAAM,eAAe,GACnB,MAAM,6BAAsB,CAAC,WAAW,EAAE,EAAE,kBAAkB,EAAE,CAAC;IACnE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACpC,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,oBAAQ,EAAE,CAAC;IAEpD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;IAC5C,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,MAAM,CAAC,mBAAY,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE5B,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACpC,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAtBS,QAAA,yBAAyB,6BAsBlC"}
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GrpcClientRepository = void 0;
|
|
4
4
|
const nice_grpc_1 = require("nice-grpc");
|
|
5
|
-
const nice_grpc_opentelemetry_1 = require("nice-grpc-opentelemetry");
|
|
6
5
|
const exception_mapper_middleware_1 = require("../middleware/exception-mapper.middleware");
|
|
6
|
+
const opentelemetry_middleware_1 = require("../middleware/opentelemetry.middleware");
|
|
7
|
+
const request_metadata_middleware_1 = require("../middleware/request-metadata.middleware");
|
|
7
8
|
/**
|
|
8
9
|
* Простое кеш хранилище внутри DI для кеширования на замену статике
|
|
9
10
|
*/
|
|
10
11
|
class GrpcClientRepository {
|
|
11
12
|
static factory = (0, nice_grpc_1.createClientFactory)()
|
|
12
|
-
.use((0,
|
|
13
|
-
.use((0,
|
|
13
|
+
.use((0, exception_mapper_middleware_1.exceptionMapperMiddleware)())
|
|
14
|
+
.use((0, opentelemetry_middleware_1.opentelemetryMiddleware)())
|
|
15
|
+
.use((0, request_metadata_middleware_1.requestMetadataMiddleware)());
|
|
14
16
|
// Caches
|
|
15
17
|
channels = new Map();
|
|
16
18
|
clients = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-client.repository.js","sourceRoot":"","sources":["../../src/repository/grpc-client.repository.ts"],"names":[],"mappings":";;;AAEA,yCAA+D;
|
|
1
|
+
{"version":3,"file":"grpc-client.repository.js","sourceRoot":"","sources":["../../src/repository/grpc-client.repository.ts"],"names":[],"mappings":";;;AAEA,yCAA+D;AAG/D,2FAAsF;AACtF,qFAAiF;AACjF,2FAAsF;AAEtF;;GAEG;AACH,MAAa,oBAAoB;IACvB,MAAM,CAAC,OAAO,GAAG,IAAA,+BAAmB,GAAE;SAC3C,GAAG,CAAC,IAAA,uDAAyB,GAAE,CAAC;SAChC,GAAG,CAAC,IAAA,kDAAuB,GAAE,CAAC;SAC9B,GAAG,CAAC,IAAA,uDAAyB,GAAE,CAAC,CAAC;IAEpC,SAAS;IACA,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IACtC,OAAO,GAAG,IAAI,GAAG,EAA2C,CAAC;IAEtE,cAAc,CAAC,OAAe,EAAE,YAAoB;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAC;QAE1E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CACX,UAAmC,EACnC,OAA8B,EAC9B,WAAmB;QAEnB,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;YAC7B,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEvC,OAAO,OAAO,CAAC;IACjB,CAAC;;AA9BH,oDA+BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc.servers.js","sourceRoot":"","sources":["../../src/servers/grpc.servers.ts"],"names":[],"mappings":";;;AAQA,MAAa,WAAW;IACtB,MAAM,CAAC,MAAM,CACX,WAAmC;QAEnC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACnD,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;YAC3B,OAAO;gBACL,UAAU;gBACV,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC;aACpD,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,eAAe,CAIpB,UAAuB,EACvB,WAAoC;QAEpC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACpD,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE;YAC5B,OAAO;gBACL,WAAW;gBACX;oBACE,UAAU;oBACV,WAAW;oBACX,UAAU;iBACX;aACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,iBAAiB,CAItB,MAAe;QACf,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"grpc.servers.js","sourceRoot":"","sources":["../../src/servers/grpc.servers.ts"],"names":[],"mappings":";;;AAQA,MAAa,WAAW;IACtB,MAAM,CAAC,MAAM,CACX,WAAmC;QAEnC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACnD,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;YAC3B,OAAO;gBACL,UAAU;gBACV,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC;aACpD,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,eAAe,CAIpB,UAAuB,EACvB,WAAoC;QAEpC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACpD,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE;YAC5B,OAAO;gBACL,WAAW;gBACX;oBACE,UAAU;oBACV,WAAW;oBACX,UAAU;iBACX;aACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,iBAAiB,CAItB,MAAe;QACf,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9C,WAAW,CAAC,IAAI,CAAC,KAA6B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AArDD,kCAqDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/grpc.clients",
|
|
3
|
-
"version": "4.0.0-next.
|
|
3
|
+
"version": "4.0.0-next.15",
|
|
4
4
|
"description": "Grpc clients infrastructure",
|
|
5
5
|
"license": "Apache License 2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -18,19 +18,18 @@
|
|
|
18
18
|
"@nestjs/common": "^10.0.0",
|
|
19
19
|
"@nestjs/core": "^10.0.0",
|
|
20
20
|
"@nestjs/microservices": "^10.0.0",
|
|
21
|
-
"@
|
|
22
|
-
"@
|
|
23
|
-
"@rsdk/
|
|
24
|
-
"@rsdk/
|
|
25
|
-
"@rsdk/
|
|
26
|
-
"@rsdk/
|
|
27
|
-
"@rsdk/
|
|
21
|
+
"@opentelemetry/propagator-b3": "1.18.1",
|
|
22
|
+
"@opentelemetry/sdk-node": "0.39.1",
|
|
23
|
+
"@rsdk/autodoc.protocol": "^4.0.0-next.15",
|
|
24
|
+
"@rsdk/builtin-contract": "^4.0.0-next.15",
|
|
25
|
+
"@rsdk/common": "^4.0.0-next.15",
|
|
26
|
+
"@rsdk/core": "^4.0.0-next.15",
|
|
27
|
+
"@rsdk/grpc.common": "^4.0.0-next.15",
|
|
28
|
+
"@rsdk/logging": "^4.0.0-next.15",
|
|
29
|
+
"@rsdk/metadata": "^4.0.0-next.15",
|
|
28
30
|
"nice-grpc": "^2.1.4",
|
|
29
31
|
"reflect-metadata": "^0.1.13",
|
|
30
32
|
"rxjs": "^7.8.1"
|
|
31
33
|
},
|
|
32
|
-
"
|
|
33
|
-
"nice-grpc-opentelemetry": "^0.1.2"
|
|
34
|
-
},
|
|
35
|
-
"gitHead": "3fe5f00eff1ac7155d8e42dbbbcbd8a6cfd75e93"
|
|
34
|
+
"gitHead": "8abd89d7800375749b024410dc3465ff40389277"
|
|
36
35
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
X_B3_PARENT_SPAN_ID,
|
|
3
|
+
X_B3_TRACE_ID,
|
|
4
|
+
} from '@opentelemetry/propagator-b3';
|
|
5
|
+
import { ActiveSpanStorage } from '@rsdk/core';
|
|
6
|
+
import type { ClientMiddleware } from 'nice-grpc';
|
|
7
|
+
import { Metadata } from 'nice-grpc';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Middleware для клиента GRPC, который пробрасывает **traceId** и **spanId** из текущего приложения в стороннее через Metadata
|
|
11
|
+
*/
|
|
12
|
+
export const opentelemetryMiddleware = (): ClientMiddleware =>
|
|
13
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
14
|
+
async function* (call, options) {
|
|
15
|
+
const metadata = options.metadata ?? new Metadata();
|
|
16
|
+
|
|
17
|
+
const traceId = ActiveSpanStorage.getInstance()
|
|
18
|
+
?.getActiveSpan()
|
|
19
|
+
?.spanContext().traceId;
|
|
20
|
+
if (traceId) {
|
|
21
|
+
metadata.append(X_B3_TRACE_ID, traceId);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const spanId = ActiveSpanStorage.getInstance()
|
|
25
|
+
?.getActiveSpan()
|
|
26
|
+
?.spanContext().spanId;
|
|
27
|
+
if (spanId) {
|
|
28
|
+
metadata.append(X_B3_PARENT_SPAN_ID, spanId);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
options.metadata = metadata;
|
|
32
|
+
|
|
33
|
+
return yield* call.next(call.request, {
|
|
34
|
+
...options,
|
|
35
|
+
});
|
|
36
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RequestMetadataStorage, X_REQUEST_ID } from '@rsdk/core';
|
|
2
|
+
import type { ClientMiddleware } from 'nice-grpc';
|
|
3
|
+
import { Metadata } from 'nice-grpc';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Мидл варя для клиента GRPC, для проброса **requestId** из текущего приложения в стороннее через Metadata
|
|
7
|
+
*/
|
|
8
|
+
export const requestMetadataMiddleware = (): ClientMiddleware =>
|
|
9
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
10
|
+
async function* (call, options) {
|
|
11
|
+
const requestMetadata =
|
|
12
|
+
await RequestMetadataStorage.getInstance()?.getRequestMetadata();
|
|
13
|
+
if (!requestMetadata) {
|
|
14
|
+
return yield* call.next(call.request, {
|
|
15
|
+
...options,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
const metadata = options.metadata ?? new Metadata();
|
|
19
|
+
|
|
20
|
+
const requestId = requestMetadata.requestId;
|
|
21
|
+
if (requestId) {
|
|
22
|
+
metadata.append(X_REQUEST_ID, requestId);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
options.metadata = metadata;
|
|
26
|
+
|
|
27
|
+
return yield* call.next(call.request, {
|
|
28
|
+
...options,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
@@ -2,17 +2,19 @@ import type { ChannelImplementation } from '@grpc/grpc-js/build/src/channel';
|
|
|
2
2
|
import type { Channel, Client } from 'nice-grpc';
|
|
3
3
|
import { createChannel, createClientFactory } from 'nice-grpc';
|
|
4
4
|
import type { CompatServiceDefinition } from 'nice-grpc/lib/service-definitions';
|
|
5
|
-
import { openTelemetryClientMiddleware } from 'nice-grpc-opentelemetry';
|
|
6
5
|
|
|
7
6
|
import { exceptionMapperMiddleware } from '../middleware/exception-mapper.middleware';
|
|
7
|
+
import { opentelemetryMiddleware } from '../middleware/opentelemetry.middleware';
|
|
8
|
+
import { requestMetadataMiddleware } from '../middleware/request-metadata.middleware';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Простое кеш хранилище внутри DI для кеширования на замену статике
|
|
11
12
|
*/
|
|
12
13
|
export class GrpcClientRepository {
|
|
13
14
|
private static factory = createClientFactory()
|
|
14
|
-
.use(
|
|
15
|
-
.use(
|
|
15
|
+
.use(exceptionMapperMiddleware())
|
|
16
|
+
.use(opentelemetryMiddleware())
|
|
17
|
+
.use(requestMetadataMiddleware());
|
|
16
18
|
|
|
17
19
|
// Caches
|
|
18
20
|
readonly channels = new Map<string, Channel>();
|
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
|
}
|