@rsdk/grpc.server 4.11.1 → 4.12.0-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 +6 -0
- package/dist/grpc.config.d.ts +1 -0
- package/dist/grpc.config.js +8 -0
- package/dist/grpc.config.js.map +1 -1
- package/dist/grpc.transport.d.ts +1 -0
- package/dist/grpc.transport.js +5 -1
- package/dist/grpc.transport.js.map +1 -1
- package/package.json +2 -2
- package/src/grpc.config.ts +8 -0
- package/src/grpc.transport.ts +7 -1
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
|
+
## [4.12.0-next.0](https://github.com/R-Vision/rsdk/compare/v4.11.1...v4.12.0-next.0) (2024-08-14)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* added channelOptions to client and server ([#279](https://github.com/R-Vision/rsdk/issues/279)) ([63b4a45](https://github.com/R-Vision/rsdk/commit/63b4a45aa547187e483645ca887d15565f264880))
|
|
11
|
+
|
|
6
12
|
## [4.11.1](https://github.com/R-Vision/rsdk/compare/v4.11.0...v4.11.1) (2024-07-04)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @rsdk/grpc.server
|
package/dist/grpc.config.d.ts
CHANGED
|
@@ -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;
|
package/dist/grpc.config.js
CHANGED
|
@@ -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,
|
package/dist/grpc.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc.config.js","sourceRoot":"","sources":["../src/grpc.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAG2C;AAC3C,yCAAoC;AACpC,
|
|
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"}
|
package/dist/grpc.transport.d.ts
CHANGED
|
@@ -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
|
getHeaderExtractor(): ProtocolTracingHeadersExtractor;
|
|
10
11
|
private address?;
|
|
11
12
|
private maxRecv?;
|
package/dist/grpc.transport.js
CHANGED
|
@@ -18,6 +18,7 @@ const reflection_module_1 = require("./reflection.module");
|
|
|
18
18
|
class GrpcTransport {
|
|
19
19
|
logger = logging_1.LoggerFactory.create(GrpcTransport);
|
|
20
20
|
packages;
|
|
21
|
+
channelOptions;
|
|
21
22
|
getHeaderExtractor() {
|
|
22
23
|
return new grpc_tracing_extractor_1.GrpcTracingExtractor();
|
|
23
24
|
}
|
|
@@ -76,10 +77,11 @@ class GrpcTransport {
|
|
|
76
77
|
* PlatformConfigModule is not initilalized yet
|
|
77
78
|
*/
|
|
78
79
|
init(configContext) {
|
|
79
|
-
const { address, maxRecv, maxSend } = configContext.resolve(grpc_config_1.GRPCConfig);
|
|
80
|
+
const { address, maxRecv, maxSend, channelOptions } = configContext.resolve(grpc_config_1.GRPCConfig);
|
|
80
81
|
this.address = address;
|
|
81
82
|
this.maxRecv = maxRecv;
|
|
82
83
|
this.maxSend = maxSend;
|
|
84
|
+
this.channelOptions = channelOptions;
|
|
83
85
|
this.isInitialized = true;
|
|
84
86
|
}
|
|
85
87
|
createMicroserviceOptions() {
|
|
@@ -93,10 +95,12 @@ class GrpcTransport {
|
|
|
93
95
|
this.assertIsDefined(this.address);
|
|
94
96
|
this.assertIsDefined(this.maxRecv);
|
|
95
97
|
this.assertIsDefined(this.maxSend);
|
|
98
|
+
this.assertIsDefined(this.channelOptions);
|
|
96
99
|
return (0, grpc_loader_1.createGrpcOptions)(packages, {
|
|
97
100
|
address: this.address,
|
|
98
101
|
maxRecv: this.maxRecv,
|
|
99
102
|
maxSend: this.maxSend,
|
|
103
|
+
channelOptions: this.channelOptions,
|
|
100
104
|
});
|
|
101
105
|
}
|
|
102
106
|
onStart() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"grpc.transport.js","sourceRoot":"","sources":["../src/grpc.transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/grpc.server",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.12.0-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": "
|
|
31
|
+
"gitHead": "9bf86b7c3cdaa8c443cf7292a524543d0a53cb92"
|
|
32
32
|
}
|
package/src/grpc.config.ts
CHANGED
|
@@ -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)',
|
package/src/grpc.transport.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ChannelOptions } from '@grpc/grpc-js';
|
|
1
2
|
import {
|
|
2
3
|
ServerDuplexStreamImpl,
|
|
3
4
|
ServerReadableStreamImpl,
|
|
@@ -35,6 +36,7 @@ import { ReflectionModule } from './reflection.module';
|
|
|
35
36
|
export class GrpcTransport implements IMicroserviceTransport {
|
|
36
37
|
private readonly logger = LoggerFactory.create(GrpcTransport);
|
|
37
38
|
private readonly packages: Set<Package>;
|
|
39
|
+
private channelOptions?: ChannelOptions;
|
|
38
40
|
|
|
39
41
|
getHeaderExtractor(): ProtocolTracingHeadersExtractor {
|
|
40
42
|
return new GrpcTracingExtractor();
|
|
@@ -108,11 +110,13 @@ export class GrpcTransport implements IMicroserviceTransport {
|
|
|
108
110
|
* PlatformConfigModule is not initilalized yet
|
|
109
111
|
*/
|
|
110
112
|
init(configContext: ConfigContext): void {
|
|
111
|
-
const { address, maxRecv, maxSend } =
|
|
113
|
+
const { address, maxRecv, maxSend, channelOptions } =
|
|
114
|
+
configContext.resolve(GRPCConfig);
|
|
112
115
|
|
|
113
116
|
this.address = address;
|
|
114
117
|
this.maxRecv = maxRecv;
|
|
115
118
|
this.maxSend = maxSend;
|
|
119
|
+
this.channelOptions = channelOptions;
|
|
116
120
|
this.isInitialized = true;
|
|
117
121
|
}
|
|
118
122
|
|
|
@@ -129,11 +133,13 @@ export class GrpcTransport implements IMicroserviceTransport {
|
|
|
129
133
|
this.assertIsDefined(this.address);
|
|
130
134
|
this.assertIsDefined(this.maxRecv);
|
|
131
135
|
this.assertIsDefined(this.maxSend);
|
|
136
|
+
this.assertIsDefined(this.channelOptions);
|
|
132
137
|
|
|
133
138
|
return createGrpcOptions(packages, {
|
|
134
139
|
address: this.address,
|
|
135
140
|
maxRecv: this.maxRecv,
|
|
136
141
|
maxSend: this.maxSend,
|
|
142
|
+
channelOptions: this.channelOptions,
|
|
137
143
|
});
|
|
138
144
|
}
|
|
139
145
|
|