npm install grpc-server-ts --save
hello.proto
syntax = "proto3";
option java_multiple_files = true;
option java_package = "io.grpc.service.test";
option objc_class_prefix ="RTG";
package hello;
service Hello {
rpc say(stream Empty) returns (stream Word) {};
}
message Empty {
}
message Word {
string word = 1;
}
import { Route, Service } from "grpc-server-ts";
@Service('path_to_hello.proto')
export class HelloService {
@Route
public async say() {
return 'hello world';
}
}
import { RpcRegistry, Settings } from 'grpc-server-ts';
@Settings(settings)
class RPC extends RpcRegistry { }
RPC.start();
{
port: "3333", // listen port
host: "localhost", // listen host
ca: "runtime/rpc/ca.crt", // ca file path
cert: "runtime/rpc/server.crt", // cert file path
key: "runtime/rpc/server.key" // key file path
}