0.0.3 • Published 4 years ago

simple-grpc v0.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago

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);