Skip to content

Commit 36e7a77

Browse files
refactor(server): migrate grpc server to @grpc/grpc-js and proto-loader
1 parent 6be7330 commit 36e7a77

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

endpoints/getting-started-grpc/server.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,17 @@
1717
const path = require('path');
1818
const PROTO_PATH = path.join(__dirname, '/protos/helloworld.proto');
1919

20-
const grpc = require('grpc');
21-
const helloProto = grpc.load(PROTO_PATH).helloworld;
20+
const grpc = require('@grpc/grpc-js');
21+
const protoLoader = require('@grpc/proto-loader');
22+
23+
const packageDefinition = protoLoader.loadSync(PROTO_PATH, {
24+
keepCase: true,
25+
longs: String,
26+
enums: String,
27+
defaults: true,
28+
oneofs: true,
29+
});
30+
const helloProto = grpc.loadPackageDefinition(packageDefinition).helloworld;
2231

2332
// Implement the SayHello RPC method.
2433
const sayHello = (call, callback) => {
@@ -28,9 +37,14 @@ const sayHello = (call, callback) => {
2837
// Start an RPC server to handle Greeter service requests
2938
const startServer = PORT => {
3039
const server = new grpc.Server();
31-
server.addProtoService(helloProto.Greeter.service, {sayHello: sayHello});
32-
server.bind(`0.0.0.0:${PORT}`, grpc.ServerCredentials.createInsecure());
33-
server.start();
40+
server.addService(helloProto.Greeter.service, {sayHello: sayHello});
41+
server.bindAsync(
42+
`0.0.0.0:${PORT}`,
43+
grpc.ServerCredentials.createInsecure(),
44+
() => {
45+
server.start();
46+
}
47+
);
3448
};
3549

3650
// The command-line program

0 commit comments

Comments
 (0)