@rsdk/grpc.server 5.0.4 → 5.0.5-next.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,12 @@
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
+ ## [5.0.5-next.0](https://github.com/R-Vision/rsdk/compare/v5.0.4...v5.0.5-next.0) (2024-08-19)
7
+
8
+ ### Bug Fixes
9
+
10
+ * added channelOptions to client and server ([#279](https://github.com/R-Vision/rsdk/issues/279)) ([#281](https://github.com/R-Vision/rsdk/issues/281)) ([ff07265](https://github.com/R-Vision/rsdk/commit/ff072652e81b6b1f9b9f69645edb667a3e427b0a))
11
+
6
12
  ## [5.0.4](https://github.com/R-Vision/rsdk/compare/v5.0.4-next.0...v5.0.4) (2024-07-24)
7
13
 
8
14
  **Note:** Version bump only for package @rsdk/grpc.server
@@ -2,6 +2,7 @@ import { Config } from '@rsdk/core';
2
2
  export declare class GRPCConfig extends Config {
3
3
  readonly address: string;
4
4
  readonly maxRecv: number;
5
+ readonly channelOptions: Record<string, string | number>;
5
6
  readonly maxSend: number;
6
7
  readonly reflection: boolean;
7
8
  readonly requestLogging: boolean;
@@ -17,6 +17,7 @@ const grpc_common_1 = require("@rsdk/grpc.common");
17
17
  let GRPCConfig = class GRPCConfig extends core_1.Config {
18
18
  address;
19
19
  maxRecv;
20
+ channelOptions;
20
21
  maxSend;
21
22
  reflection;
22
23
  requestLogging;
@@ -39,6 +40,13 @@ __decorate([
39
40
  }),
40
41
  __metadata("design:type", Number)
41
42
  ], GRPCConfig.prototype, "maxRecv", void 0);
43
+ __decorate([
44
+ (0, core_1.Property)('GRPC_SERVER_CHANNEL_OPTIONS', new core_1.JsonParser(), {
45
+ defaultValue: {},
46
+ description: 'Channel options (https://www.npmjs.com/package/%40grpc/grpc-js#:~:text=Supported%20Channel%20Options) in json format',
47
+ }),
48
+ __metadata("design:type", Object)
49
+ ], GRPCConfig.prototype, "channelOptions", void 0);
42
50
  __decorate([
43
51
  (0, core_1.Property)('GRPC_MAX_SEND_MESSAGE_LENGTH', new core_1.IntParser(), {
44
52
  defaultValue: constants_1.DEFAULT_MAX_SEND_MESSAGE_LENGTH,
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.config.js","sourceRoot":"","sources":["../src/grpc.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAG2C;AAC3C,yCAAoC;AACpC,qCAOoB;AACpB,mDAAsD;AAK/C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,aAAM;IAQ3B,OAAO,CAAU;IAMjB,OAAO,CAAU;IAMjB,OAAO,CAAU;IAMjB,UAAU,CAAW;IAMrB,cAAc,CAAW;CACnC,CAAA;AAjCY,gCAAU;AAQZ;IAPR,IAAA,eAAQ,EAAC,cAAc,EAAE,IAAI,+BAAiB,EAAE,EAAE;QACjD,YAAY,EAAE,eAAe;QAC7B,WAAW,EAAE,IAAA,aAAI,EAAA;;;KAGhB;KACF,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iCAAiC,EAAE,IAAI,gBAAS,EAAE,EAAE;QAC5D,YAAY,EAAE,8CAAkC;QAChD,WAAW,EAAE,iCAAiC;KAC/C,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,8BAA8B,EAAE,IAAI,gBAAS,EAAE,EAAE;QACzD,YAAY,EAAE,2CAA+B;QAC7C,WAAW,EAAE,8BAA8B;KAC5C,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iBAAiB,EAAE,IAAI,iBAAU,EAAE,EAAE;QAC7C,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mBAAmB;KACjC,CAAC;;8CAC4B;AAMrB;IAJR,IAAA,eAAQ,EAAC,sBAAsB,EAAE,IAAI,iBAAU,EAAE,EAAE;QAClD,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mCAAmC;KACjD,CAAC;;kDACgC;qBAhCvB,UAAU;IAHtB,IAAA,oBAAa,EAAC;QACb,IAAI,EAAE,CAAC,gBAAS,CAAC,cAAc,EAAE,gBAAS,CAAC,SAAS,EAAE,gBAAS,CAAC,UAAU,CAAC;KAC5E,CAAC;GACW,UAAU,CAiCtB"}
1
+ {"version":3,"file":"grpc.config.js","sourceRoot":"","sources":["../src/grpc.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAG2C;AAC3C,yCAAoC;AACpC,qCAQoB;AACpB,mDAAsD;AAK/C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,aAAM;IAQ3B,OAAO,CAAU;IAMjB,OAAO,CAAU;IAOjB,cAAc,CAAmC;IAMjD,OAAO,CAAU;IAMjB,UAAU,CAAW;IAMrB,cAAc,CAAW;CACnC,CAAA;AAxCY,gCAAU;AAQZ;IAPR,IAAA,eAAQ,EAAC,cAAc,EAAE,IAAI,+BAAiB,EAAE,EAAE;QACjD,YAAY,EAAE,eAAe;QAC7B,WAAW,EAAE,IAAA,aAAI,EAAA;;;KAGhB;KACF,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iCAAiC,EAAE,IAAI,gBAAS,EAAE,EAAE;QAC5D,YAAY,EAAE,8CAAkC;QAChD,WAAW,EAAE,iCAAiC;KAC/C,CAAC;;2CACwB;AAOjB;IALR,IAAA,eAAQ,EAAC,6BAA6B,EAAE,IAAI,iBAAU,EAAE,EAAE;QACzD,YAAY,EAAE,EAAE;QAChB,WAAW,EACT,sHAAsH;KACzH,CAAC;;kDACwD;AAMjD;IAJR,IAAA,eAAQ,EAAC,8BAA8B,EAAE,IAAI,gBAAS,EAAE,EAAE;QACzD,YAAY,EAAE,2CAA+B;QAC7C,WAAW,EAAE,8BAA8B;KAC5C,CAAC;;2CACwB;AAMjB;IAJR,IAAA,eAAQ,EAAC,iBAAiB,EAAE,IAAI,iBAAU,EAAE,EAAE;QAC7C,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mBAAmB;KACjC,CAAC;;8CAC4B;AAMrB;IAJR,IAAA,eAAQ,EAAC,sBAAsB,EAAE,IAAI,iBAAU,EAAE,EAAE;QAClD,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,mCAAmC;KACjD,CAAC;;kDACgC;qBAvCvB,UAAU;IAHtB,IAAA,oBAAa,EAAC;QACb,IAAI,EAAE,CAAC,gBAAS,CAAC,cAAc,EAAE,gBAAS,CAAC,SAAS,EAAE,gBAAS,CAAC,UAAU,CAAC;KAC5E,CAAC;GACW,UAAU,CAwCtB"}
@@ -6,6 +6,7 @@ import type { Package } from '@rsdk/grpc.loader';
6
6
  export declare class GrpcTransport implements IMicroserviceTransport {
7
7
  private readonly logger;
8
8
  private readonly packages;
9
+ private channelOptions?;
9
10
  private address?;
10
11
  private maxRecv?;
11
12
  private maxSend?;
@@ -20,6 +20,7 @@ const reflection_module_1 = require("./reflection.module");
20
20
  class GrpcTransport {
21
21
  logger = logging_1.LoggerFactory.create(GrpcTransport);
22
22
  packages;
23
+ channelOptions;
23
24
  address;
24
25
  maxRecv;
25
26
  maxSend;
@@ -78,10 +79,11 @@ class GrpcTransport {
78
79
  * PlatformConfigModule is not initilalized yet
79
80
  */
80
81
  init(configContext) {
81
- const { address, maxRecv, maxSend } = configContext.resolve(grpc_config_1.GRPCConfig);
82
+ const { address, maxRecv, maxSend, channelOptions } = configContext.resolve(grpc_config_1.GRPCConfig);
82
83
  this.address = this.prepareGrpcAddress(address);
83
84
  this.maxRecv = maxRecv;
84
85
  this.maxSend = maxSend;
86
+ this.channelOptions = channelOptions;
85
87
  this.isInitialized = true;
86
88
  }
87
89
  createMicroserviceOptions() {
@@ -95,10 +97,12 @@ class GrpcTransport {
95
97
  this.assertIsDefined(this.address);
96
98
  this.assertIsDefined(this.maxRecv);
97
99
  this.assertIsDefined(this.maxSend);
100
+ this.assertIsDefined(this.channelOptions);
98
101
  return (0, grpc_loader_1.createGrpcOptions)(packages, {
99
102
  address: this.address,
100
103
  maxRecv: this.maxRecv,
101
104
  maxSend: this.maxSend,
105
+ channelOptions: this.channelOptions,
102
106
  });
103
107
  }
104
108
  onStart() {
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdk/grpc.server",
3
- "version": "5.0.4",
3
+ "version": "5.0.5-next.0",
4
4
  "description": "Grpc transport for platform, clients and common grpc stuff",
5
5
  "license": "Apache License 2.0",
6
6
  "publishConfig": {
@@ -28,5 +28,5 @@
28
28
  "dependencies": {
29
29
  "@bufbuild/protobuf": "^1.4.2"
30
30
  },
31
- "gitHead": "bc91bac478a7186bdd385dff5536e47461a0f728"
31
+ "gitHead": "69cc17448de4db247e4fc27ab4d00896271c178a"
32
32
  }
@@ -9,6 +9,7 @@ import {
9
9
  ConfigSection,
10
10
  ConfigTag,
11
11
  IntParser,
12
+ JsonParser,
12
13
  Property,
13
14
  } from '@rsdk/core';
14
15
  import { GrpcAddressParser } from '@rsdk/grpc.common';
@@ -32,6 +33,13 @@ export class GRPCConfig extends Config {
32
33
  })
33
34
  readonly maxRecv!: number;
34
35
 
36
+ @Property('GRPC_SERVER_CHANNEL_OPTIONS', new JsonParser(), {
37
+ defaultValue: {},
38
+ description:
39
+ 'Channel options (https://www.npmjs.com/package/%40grpc/grpc-js#:~:text=Supported%20Channel%20Options) in json format',
40
+ })
41
+ readonly channelOptions!: Record<string, string | number>;
42
+
35
43
  @Property('GRPC_MAX_SEND_MESSAGE_LENGTH', new IntParser(), {
36
44
  defaultValue: DEFAULT_MAX_SEND_MESSAGE_LENGTH,
37
45
  description: 'Max gRPC message size (send)',
@@ -1,3 +1,4 @@
1
+ import type { ChannelOptions } from '@grpc/grpc-js';
1
2
  import {
2
3
  ServerDuplexStreamImpl,
3
4
  ServerReadableStreamImpl,
@@ -36,6 +37,7 @@ import { ReflectionModule } from './reflection.module';
36
37
  export class GrpcTransport implements IMicroserviceTransport {
37
38
  private readonly logger = LoggerFactory.create(GrpcTransport);
38
39
  private readonly packages: Set<Package>;
40
+ private channelOptions?: ChannelOptions;
39
41
 
40
42
  private address?: string;
41
43
  private maxRecv?: number;
@@ -109,11 +111,13 @@ export class GrpcTransport implements IMicroserviceTransport {
109
111
  * PlatformConfigModule is not initilalized yet
110
112
  */
111
113
  init(configContext: ConfigContext): void {
112
- const { address, maxRecv, maxSend } = configContext.resolve(GRPCConfig);
114
+ const { address, maxRecv, maxSend, channelOptions } =
115
+ configContext.resolve(GRPCConfig);
113
116
 
114
117
  this.address = this.prepareGrpcAddress(address);
115
118
  this.maxRecv = maxRecv;
116
119
  this.maxSend = maxSend;
120
+ this.channelOptions = channelOptions;
117
121
  this.isInitialized = true;
118
122
  }
119
123
 
@@ -130,11 +134,13 @@ export class GrpcTransport implements IMicroserviceTransport {
130
134
  this.assertIsDefined(this.address);
131
135
  this.assertIsDefined(this.maxRecv);
132
136
  this.assertIsDefined(this.maxSend);
137
+ this.assertIsDefined(this.channelOptions);
133
138
 
134
139
  return createGrpcOptions(packages, {
135
140
  address: this.address,
136
141
  maxRecv: this.maxRecv,
137
142
  maxSend: this.maxSend,
143
+ channelOptions: this.channelOptions,
138
144
  });
139
145
  }
140
146