@rsdk/grpc.clients 4.0.0-next.8 → 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,11 +3,64 @@
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
+
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)
55
+
56
+ **Note:** Version bump only for package @rsdk/grpc.clients
57
+
6
58
  ## [4.0.0-next.8](https://github.com/R-Vision/rsdk/compare/v4.0.0-next.7...v4.0.0-next.8) (2023-11-29)
7
59
 
8
60
  ### Features
9
61
 
10
- * 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))
11
64
 
12
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)
13
66
 
@@ -29,7 +82,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
29
82
 
30
83
  ### Bug Fixes
31
84
 
32
- * 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))
33
87
 
34
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)
35
89
 
@@ -187,7 +241,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
187
241
 
188
242
  ### Bug Fixes
189
243
 
190
- * **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))
191
246
 
192
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)
193
248
 
@@ -201,7 +256,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
201
256
 
202
257
  ### Features
203
258
 
204
- * 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))
205
261
 
206
262
  ## [3.0.2](https://github.com/R-Vision/rsdk/compare/v3.0.1...v3.0.2) (2023-08-07)
207
263
 
@@ -211,7 +267,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
211
267
 
212
268
  ### Bug Fixes
213
269
 
214
- * **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))
215
272
 
216
273
  ## [3.0.1-next.0](https://github.com/R-Vision/rsdk/compare/v3.0.0...v3.0.1-next.0) (2023-08-07)
217
274
 
@@ -237,7 +294,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
237
294
 
238
295
  ### Features
239
296
 
240
- * **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))
241
299
 
242
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)
243
301
 
@@ -281,19 +339,22 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
281
339
 
282
340
  ### Features
283
341
 
284
- * **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))
285
344
 
286
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)
287
346
 
288
347
  ### Bug Fixes
289
348
 
290
- * 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))
291
351
 
292
352
  # [2.6.0-next.0](https://github.com/R-Vision/rsdk/compare/v2.5.0...v2.6.0-next.0) (2023-07-03)
293
353
 
294
354
  ### Bug Fixes
295
355
 
296
- * **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))
297
358
 
298
359
  # [2.5.0](https://github.com/R-Vision/rsdk/compare/v2.4.4-next.0...v2.5.0) (2023-06-23)
299
360
 
@@ -347,34 +408,41 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
347
408
 
348
409
  ### Features
349
410
 
350
- * 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))
351
413
 
352
414
  # [2.1.0](https://github.com/R-Vision/rsdk/compare/v2.0.0...v2.1.0) (2023-06-06)
353
415
 
354
416
  ### Features
355
417
 
356
- * 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))
357
420
 
358
421
  # [2.0.0](https://github.com/R-Vision/rsdk/compare/v1.0.12...v2.0.0) (2023-06-06)
359
422
 
360
423
  ### Bug Fixes
361
424
 
362
- * **autodoc:** correct resolve metadata for autodoc ([5e51fe2](https://github.com/R-Vision/rsdk/commit/5e51fe25e48b41f184e667ca94b7225bbc43696e))
363
- * 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))
364
- * 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))
365
431
 
366
432
  ### Draft
367
433
 
368
- * 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))
369
436
 
370
437
  ### Features
371
438
 
372
- * 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))
373
441
 
374
442
  ### BREAKING CHANGES
375
443
 
376
444
  * GrpcClientModule removed
377
- new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
445
+ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
378
446
 
379
447
  * fix: rework interaction with metadata and generating modules from metadata
380
448
 
@@ -408,7 +476,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
408
476
 
409
477
  ### Bug Fixes
410
478
 
411
- * 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))
412
481
 
413
482
  ## 1.0.11 (2023-05-23)
414
483
 
@@ -418,7 +487,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
418
487
 
419
488
  ### Bug Fixes
420
489
 
421
- * 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))
422
492
 
423
493
  ## 1.0.9 (2023-05-21)
424
494
 
@@ -448,7 +518,8 @@ new way for declaration with `GrpcServers.define()` and `@InjectGrpcClient`
448
518
 
449
519
  ### Bug Fixes
450
520
 
451
- * 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))
452
523
 
453
524
  ## 1.0.2 (2023-05-10)
454
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.8",
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.8",
22
- "@rsdk/builtin-contract": "^4.0.0-next.5",
23
- "@rsdk/common": "^4.0.0-next.6",
24
- "@rsdk/core": "^4.0.0-next.8",
25
- "@rsdk/grpc.common": "^4.0.0-next.8",
26
- "@rsdk/logging": "^4.0.0-next.6",
27
- "@rsdk/metadata": "^4.0.0-next.8",
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": "bae7c74fc8be068b8bd66b403d19e2b32cf092ec"
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
  }