0.0.3 • Published 4 years ago
simple-grpc v0.0.3
simple grpc
- for async/await func
- simple
install
npm install simple-grpc
proto
syntax = "proto3";
package helloworld;
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
rpc SayPend (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
server
const builder = require('simple-grpc');
const protofile = `${__dirname}/test.proto`;
const dosomething = async (option) => {
console.log('dosomething');
console.log(option);
return { message: 'dosomething' };
};
const doAnything = async () => {
console.log('doAnything');
console.log(option);
};
const { createServer } = builder(protofile);
const server = createServer();
const pkg = 'helloworld';
const service = 'Greeter';
server.add(pkg, service, 'SayHello', dosomething)
.add(pkg, service, 'SayPend', doAnything)
.bind('0.0.0.0:50055');
client
const builder = require('simple-grpc');
const protofile = `${__dirname}/test.proto`;
const { createClient, createServer } = builder(protofile);
const client = createClient('127.0.0.1:50055');
const rs = await client.helloworld.Greeter.SayHello({ name: 1 });
console.log(rs);