Skip to content

Instantly share code, notes, and snippets.

@Idnan
Created November 2, 2019 09:03
Show Gist options
  • Save Idnan/bc54353b41d7d5883bb5a135aed59e69 to your computer and use it in GitHub Desktop.
Save Idnan/bc54353b41d7d5883bb5a135aed59e69 to your computer and use it in GitHub Desktop.
import 'dotenv/config';
import * as grpc from 'grpc';
import { protoIndex } from './proto';
import greeterHandler from './handlers/greeter';
protoIndex();
const port: string | number = process.env.PORT || 50051;
type StartServerType = () => void;
export const startServer: StartServerType = (): void => {
// create a new gRPC server
const server: grpc.Server = new grpc.Server();
// register all the handler here...
server.addService(greeterHandler.service, greeterHandler.handler);
// define the host/port for server
server.bindAsync(
`0.0.0.0:${ port }`,
grpc.ServerCredentials.createInsecure(),
(err: Error, port: number) => {
if (err != null) {
return console.error(err);
}
console.log(`gRPC listening on ${ port }`);
},
);
// start the gRPC server
server.start();
};
startServer();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment