gRPC helpers, middlewares ... for Node.JS
Package @visiperf/visigrpc
provide some functions to help you making a gRPC server. Errors logged on Sentry, HTTP status to gRPC code, ... Everything is made to assist you :)
Table of contents
Install
Use npm
to install this package.
npm install --save @visiperf/visigrpc
Usage
Status
Error
The error(code, msg)
function is used to return a gRPC error and log it into Sentry.
const grpc = require('grpc');
const sentry = require('@sentry/node');
const status = require('@visiperf/visigrpc/status');
sentry.init({ ... });
...
// your gRPC server implementation ...
...
function sayHello(call, callback) {
callback(status.error(grpc.status.UNIMPLEMENTED, 'implement me'));
}
UNKNOWN
, INTERNAL
and DATA_LOSS
errors will be reported in Sentry !
IMPORTANT : Only gRPC code from HTTP status
If you make an HTTP request, you can use the grpcCodeFromHttpStatus(status)
func to convert HTTP status code in response to gRPC code.
const status = require('@visiperf/visigrpc/status');
let code = status.grpcCodeFromHttpStatus(403); // http status -> 403 (Forbidden)
// code -> 7 (grpc.status.PERMISSION_DENIED)