@rsdk/grpc.clients 4.0.0-next.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,54 @@
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](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.19...v4.0.0) (2023-12-04)
7
+
8
+ **Note:** Version bump only for package @rsdk/grpc.clients
9
+
10
+ ## [4.0.0-next.19](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.18...v4.0.0-next.19) (2023-12-02)
11
+
12
+ **Note:** Version bump only for package @rsdk/grpc.clients
13
+
14
+ ## [4.0.0-next.18](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.17...v4.0.0-next.18) (2023-12-02)
15
+
16
+ **Note:** Version bump only for package @rsdk/grpc.clients
17
+
18
+ ## [4.0.0-next.17](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.16...v4.0.0-next.17) (2023-12-01)
19
+
20
+ **Note:** Version bump only for package @rsdk/grpc.clients
21
+
22
+ ## [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)
23
+
24
+ **Note:** Version bump only for package @rsdk/grpc.clients
25
+
26
+ ## [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)
27
+
28
+ ### Features
29
+
30
+ * added protocol detector ([#166](https://github.com/R-Vision/rsdk/issues/166)) ([f348995](https://github.com/R-Vision/rsdk/commit/f348995f29648c7392b7375c5b2001197d60eb36))
31
+
32
+ ## [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)
33
+
34
+ ### Features
35
+
36
+ * **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)
37
+
38
+ ## [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)
39
+
40
+ **Note:** Version bump only for package @rsdk/grpc.clients
41
+
42
+ ## [4.0.0-next.12](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.11...v4.0.0-next.12) (2023-11-29)
43
+
44
+ **Note:** Version bump only for package @rsdk/grpc.clients
45
+
46
+ ## [4.0.0-next.11](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.10...v4.0.0-next.11) (2023-11-29)
47
+
48
+ **Note:** Version bump only for package @rsdk/grpc.clients
49
+
50
+ ## [4.0.0-next.10](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.9...v4.0.0-next.10) (2023-11-29)
51
+
52
+ **Note:** Version bump only for package @rsdk/grpc.clients
53
+
6
54
  ## [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)
7
55
 
8
56
  **Note:** Version bump only for package @rsdk/grpc.clients
@@ -11,7 +59,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
59
 
12
60
  ### Features
13
61
 
14
- * Kafka batch producer ([#150](https://github.com/R-Vision/rsdk/issues/150)) ([2faa2f4](https://github.com/R-Vision/rsdk/commit/2faa2f41ca0dbb6d8a92cbf0ab20cf5cefeaf4e9))
62
+ * Kafka batch
63
+ producer ([#150](https://github.com/R-Vision/rsdk/issues/150)) ([2faa2f4](https://github.com/R-Vision/rsdk/commit/2faa2f41ca0dbb6d8a92cbf0ab20cf5cefeaf4e9))
15
64
 
16
65
  ## [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)
17
66
 
@@ -33,7 +82,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
33
82
 
34
83
  ### Bug Fixes
35
84
 
36
- * all yarn peers dependency issues ([e0db9ef](https://github.com/R-Vision/rsdk/commit/e0db9ef1ab8a4df4e1f8ff6f6a9e3728f497549b))
85
+ * all yarn peers dependency
86
+ issues ([e0db9ef](https://github.com/R-Vision/rsdk/commit/e0db9ef1ab8a4df4e1f8ff6f6a9e3728f497549b))
37
87
 
38
88
  ## [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)
39
89
 
@@ -191,7 +241,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
191
241
 
192
242
  ### Bug Fixes
193
243
 
194
- * **grpc-clients:** exceptionMiddleware added to index reexport ([65dde0d](https://github.com/R-Vision/rsdk/commit/65dde0d165839a8af4d71d9b3919c8128ad46a4f))
244
+ * **grpc-clients:** exceptionMiddleware added to index
245
+ reexport ([65dde0d](https://github.com/R-Vision/rsdk/commit/65dde0d165839a8af4d71d9b3919c8128ad46a4f))
195
246
 
196
247
  ## [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)
197
248
 
@@ -205,7 +256,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
205
256
 
206
257
  ### Features
207
258
 
208
- * added exception code to payload ([#92](https://github.com/R-Vision/rsdk/issues/92)) ([6a9565b](https://github.com/R-Vision/rsdk/commit/6a9565b23746122676abb1f5166f9ef8b181864b))
259
+ * added exception code to
260
+ payload ([#92](https://github.com/R-Vision/rsdk/issues/92)) ([6a9565b](https://github.com/R-Vision/rsdk/commit/6a9565b23746122676abb1f5166f9ef8b181864b))
209
261
 
210
262
  ## [3.0.2](https://github.com/R-Vision/rsdk/compare/v3.0.1...v3.0.2) (2023-08-07)
211
263
 
@@ -215,7 +267,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
215
267
 
216
268
  ### Bug Fixes
217
269
 
218
- * **deps:** correctly peerDependencies ([349628f](https://github.com/R-Vision/rsdk/commit/349628f10da46a30d6c8b9f9387e010869318212))
270
+ * **deps:** correctly
271
+ peerDependencies ([349628f](https://github.com/R-Vision/rsdk/commit/349628f10da46a30d6c8b9f9387e010869318212))
219
272
 
220
273
  ## [3.0.1-next.0](https://github.com/R-Vision/rsdk/compare/v3.0.0...v3.0.1-next.0) (2023-08-07)
221
274
 
@@ -241,7 +294,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
241
294
 
242
295
  ### Features
243
296
 
244
- * **grpc.clients:** grpc rich error ([#85](https://github.com/R-Vision/rsdk/issues/85)) ([be99f40](https://github.com/R-Vision/rsdk/commit/be99f408295bf1750f6f0c39e067cca971d973e3))
297
+ * **grpc.clients:** grpc rich
298
+ error ([#85](https://github.com/R-Vision/rsdk/issues/85)) ([be99f40](https://github.com/R-Vision/rsdk/commit/be99f408295bf1750f6f0c39e067cca971d973e3))
245
299
 
246
300
  # [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)
247
301
 
@@ -285,19 +339,22 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
285
339
 
286
340
  ### Features
287
341
 
288
- * **grpc-clients:** added support grpc client factory ([#78](https://github.com/R-Vision/rsdk/issues/78)) ([4f9d761](https://github.com/R-Vision/rsdk/commit/4f9d761516abfa0264ee4c707fdd784f7ad9fd0c))
342
+ * **grpc-clients:** added support grpc client
343
+ factory ([#78](https://github.com/R-Vision/rsdk/issues/78)) ([4f9d761](https://github.com/R-Vision/rsdk/commit/4f9d761516abfa0264ee4c707fdd784f7ad9fd0c))
289
344
 
290
345
  # [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)
291
346
 
292
347
  ### Bug Fixes
293
348
 
294
- * gRPC error mapping into rsdk exceptions ([8c6a2b8](https://github.com/R-Vision/rsdk/commit/8c6a2b8276a7a309d26bc21e4c9ae36d7ee4210c))
349
+ * gRPC error mapping into rsdk
350
+ exceptions ([8c6a2b8](https://github.com/R-Vision/rsdk/commit/8c6a2b8276a7a309d26bc21e4c9ae36d7ee4210c))
295
351
 
296
352
  # [2.6.0-next.0](https://github.com/R-Vision/rsdk/compare/v2.5.0...v2.6.0-next.0) (2023-07-03)
297
353
 
298
354
  ### Bug Fixes
299
355
 
300
- * **grpc-clients:** remove verbose generic type for normalize compile (exceeds the maximum length...) ([e58fee8](https://github.com/R-Vision/rsdk/commit/e58fee8b1e8780deef49fa77ac40c8c0e79d82e5))
356
+ * **grpc-clients:** remove verbose generic type for normalize compile (exceeds the maximum
357
+ length...) ([e58fee8](https://github.com/R-Vision/rsdk/commit/e58fee8b1e8780deef49fa77ac40c8c0e79d82e5))
301
358
 
302
359
  # [2.5.0](https://github.com/R-Vision/rsdk/compare/v2.4.4-next.0...v2.5.0) (2023-06-23)
303
360
 
@@ -351,34 +408,41 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
351
408
 
352
409
  ### Features
353
410
 
354
- * added option define for one server and update docs ([970e1f3](https://github.com/R-Vision/rsdk/commit/970e1f3104c45bf6c1102c32afc1750e2f7e299b))
411
+ * added option define for one server and update
412
+ docs ([970e1f3](https://github.com/R-Vision/rsdk/commit/970e1f3104c45bf6c1102c32afc1750e2f7e299b))
355
413
 
356
414
  # [2.1.0](https://github.com/R-Vision/rsdk/compare/v2.0.0...v2.1.0) (2023-06-06)
357
415
 
358
416
  ### Features
359
417
 
360
- * parse camelCase servername for configuration property ([8b60809](https://github.com/R-Vision/rsdk/commit/8b608093e745846fdaca60fc4fbb3da9da64a945))
418
+ * parse camelCase servername for configuration
419
+ property ([8b60809](https://github.com/R-Vision/rsdk/commit/8b608093e745846fdaca60fc4fbb3da9da64a945))
361
420
 
362
421
  # [2.0.0](https://github.com/R-Vision/rsdk/compare/v1.0.12...v2.0.0) (2023-06-06)
363
422
 
364
423
  ### Bug Fixes
365
424
 
366
- * **autodoc:** correct resolve metadata for autodoc ([5e51fe2](https://github.com/R-Vision/rsdk/commit/5e51fe25e48b41f184e667ca94b7225bbc43696e))
367
- * cycle deps, remove outDir from base.json in tsconfig, rework interact with AutodocMetadata and RsdkMetadata, fix unprovided imports ([cc6434b](https://github.com/R-Vision/rsdk/commit/cc6434b9d165e570bdbb2baad76b00acd14577b2))
368
- * table node expects only `Record<string, string>`, not Record<string, any> ([#35](https://github.com/R-Vision/rsdk/issues/35)) ([f64bc29](https://github.com/R-Vision/rsdk/commit/f64bc29a4879d8565992a1e16e9b045dcf20d6e2))
425
+ * **autodoc:** correct resolve metadata for
426
+ autodoc ([5e51fe2](https://github.com/R-Vision/rsdk/commit/5e51fe25e48b41f184e667ca94b7225bbc43696e))
427
+ * cycle deps, remove outDir from base.json in tsconfig, rework interact with AutodocMetadata and RsdkMetadata, fix
428
+ unprovided imports ([cc6434b](https://github.com/R-Vision/rsdk/commit/cc6434b9d165e570bdbb2baad76b00acd14577b2))
429
+ * table node expects only `Record<string, string>`, not Record<string,
430
+ any> ([#35](https://github.com/R-Vision/rsdk/issues/35)) ([f64bc29](https://github.com/R-Vision/rsdk/commit/f64bc29a4879d8565992a1e16e9b045dcf20d6e2))
369
431
 
370
432
  ### Draft
371
433
 
372
- * Pfm 303 static to meta migration ([#45](https://github.com/R-Vision/rsdk/issues/45)) ([d98e303](https://github.com/R-Vision/rsdk/commit/d98e3032f9b10446b478427d841b9209ed68fa2d))
434
+ * Pfm 303 static to meta
435
+ migration ([#45](https://github.com/R-Vision/rsdk/issues/45)) ([d98e303](https://github.com/R-Vision/rsdk/commit/d98e3032f9b10446b478427d841b9209ed68fa2d))
373
436
 
374
437
  ### Features
375
438
 
376
- * added tokens for mock in tests ([#43](https://github.com/R-Vision/rsdk/issues/43)) ([e743e51](https://github.com/R-Vision/rsdk/commit/e743e51016b0d88df12785816d33c9ccb91dbc26))
439
+ * added tokens for mock in
440
+ tests ([#43](https://github.com/R-Vision/rsdk/issues/43)) ([e743e51](https://github.com/R-Vision/rsdk/commit/e743e51016b0d88df12785816d33c9ccb91dbc26))
377
441
 
378
442
  ### BREAKING CHANGES
379
443
 
380
444
  * GrpcClientModule removed
381
- new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
445
+ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
382
446
 
383
447
  * fix: rework interaction with metadata and generating modules from metadata
384
448
 
@@ -412,7 +476,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
412
476
 
413
477
  ### Bug Fixes
414
478
 
415
- * remove private dependencies from `peerDependencies` section ([0bce6ff](https://github.com/R-Vision/rsdk/commit/0bce6ffb5b699e2ed1dc9aca77cbdbf085267ff7))
479
+ * remove private dependencies from `peerDependencies`
480
+ section ([0bce6ff](https://github.com/R-Vision/rsdk/commit/0bce6ffb5b699e2ed1dc9aca77cbdbf085267ff7))
416
481
 
417
482
  ## 1.0.11 (2023-05-23)
418
483
 
@@ -422,7 +487,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
422
487
 
423
488
  ### Bug Fixes
424
489
 
425
- * add "access: public" to new packages ([04d5983](https://github.com/R-Vision/rsdk/commit/04d5983cfa3e97c5d8219e07208a0499a8c6bc83))
490
+ * add "access: public" to new
491
+ packages ([04d5983](https://github.com/R-Vision/rsdk/commit/04d5983cfa3e97c5d8219e07208a0499a8c6bc83))
426
492
 
427
493
  ## 1.0.9 (2023-05-21)
428
494
 
@@ -452,7 +518,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
452
518
 
453
519
  ### Bug Fixes
454
520
 
455
- * builtin make not private in npm ([50c83b6](https://github.com/R-Vision/rsdk/commit/50c83b6454f9a89f1e99d3b33a497ce2c029d8c6))
521
+ * builtin make not private in
522
+ npm ([50c83b6](https://github.com/R-Vision/rsdk/commit/50c83b6454f9a89f1e99d3b33a497ce2c029d8c6))
456
523
 
457
524
  ## 1.0.2 (2023-05-10)
458
525
 
@@ -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;YACd,OAAO,IAAI,CAAC;SACb;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
+ {"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;YACd,OAAO,IAAI,CAAC;SACb;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
+ {"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;QACF,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;oBACzB,MAAM,GAAG,cAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;iBACvC;gBAED,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;KACJ;IAAC,OAAO,KAAc,EAAE;QACvB,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAW,CAAC,EAAE;YACnC,MAAM,IAAI,wBAAiB,CAAC,qCAAqC,EAAE;gBACjE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;SACJ;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;YAClB,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;SAC/C;KACF;AACH,CAAC,CAAC;AA5DS,QAAA,yBAAyB,6BA4DlC"}
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,5 @@
1
+ import type { ClientMiddleware } from 'nice-grpc';
2
+ /**
3
+ * Middleware для клиента GRPC, который пробрасывает **traceId** и **spanId** из текущего приложения в стороннее через Metadata
4
+ */
5
+ export declare const opentelemetryMiddleware: () => ClientMiddleware;
@@ -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,5 @@
1
+ import type { ClientMiddleware } from 'nice-grpc';
2
+ /**
3
+ * Мидл варя для клиента GRPC, для проброса **requestId** из текущего приложения в стороннее через Metadata
4
+ */
5
+ export declare const requestMetadataMiddleware: () => ClientMiddleware;
@@ -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, nice_grpc_opentelemetry_1.openTelemetryClientMiddleware)())
13
- .use((0, exception_mapper_middleware_1.exceptionMapperMiddleware)());
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;AAE/D,qEAAwE;AAExE,2FAAsF;AAEtF;;GAEG;AACH,MAAa,oBAAoB;IACvB,MAAM,CAAC,OAAO,GAAG,IAAA,+BAAmB,GAAE;SAC3C,GAAG,CAAC,IAAA,uDAA6B,GAAE,CAAC;SACpC,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;;AA7BH,oDA8BC"}
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;YAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC7C,WAAW,CAAC,IAAI,CAAC,KAA6B,CAAC,CAAC;aACjD;SACF;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AArDD,kCAqDC"}
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.9",
3
+ "version": "4.0.0",
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
- "@rsdk/autodoc.protocol": "^4.0.0-next.9",
22
- "@rsdk/builtin-contract": "^4.0.0-next.9",
23
- "@rsdk/common": "^4.0.0-next.9",
24
- "@rsdk/core": "^4.0.0-next.9",
25
- "@rsdk/grpc.common": "^4.0.0-next.9",
26
- "@rsdk/logging": "^4.0.0-next.9",
27
- "@rsdk/metadata": "^4.0.0-next.9",
21
+ "@opentelemetry/propagator-b3": "1.18.1",
22
+ "@opentelemetry/sdk-node": "0.39.1",
23
+ "@rsdk/autodoc.protocol": "^4.0.0",
24
+ "@rsdk/builtin-contract": "^4.0.0",
25
+ "@rsdk/common": "^4.0.0",
26
+ "@rsdk/core": "^4.0.0",
27
+ "@rsdk/grpc.common": "^4.0.0",
28
+ "@rsdk/logging": "^4.0.0",
29
+ "@rsdk/metadata": "^4.0.0",
28
30
  "nice-grpc": "^2.1.4",
29
31
  "reflect-metadata": "^0.1.13",
30
32
  "rxjs": "^7.8.1"
31
33
  },
32
- "dependencies": {
33
- "nice-grpc-opentelemetry": "^0.1.2"
34
- },
35
- "gitHead": "889228ebf4076fafc1c7fce4406b1ea5a3d985ff"
34
+ "gitHead": "e38e5b762d2c4aab277f0f65a5be5abcbccba8a8"
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(openTelemetryClientMiddleware())
15
- .use(exceptionMapperMiddleware());
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": ["src/**/*"],
9
- "exclude": ["node_modules", "dist", "test", "**/*.spec.ts", "**/*.test.ts", "**/*.spec.e2e.ts", "**/*.test.e2e.ts"]
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
  }