@nanhuazhang/grpc-interceptors

1.0.2 • Public • Published

grpc-interceptors

This library provides a way to instrument Node.js gRPC clients and servers with interceptors/middleware e.g. for Prometheus metrics, Zipkin tracing etc.

Usage

const interceptors = require('grpc-interceptors');

const server = interceptors.serverProxy(new grpc.Server());
server.addService(proto.MyPackage.MyService.service, { Method1, Method2 });

const myMiddlewareFunc = function (ctx, next) {

    try {
    // do stuff before call
    console.log('Making gRPC call...');
    await next()
    // do stuff after call
    console.log(ctx.status.code);
    } catch(e) {
        errorCb({
            code: grpc.status.INTERNAL,
            message: 'Some error occurred!'
        });
    }
}

server.use(myMiddlewareFunc);

Available Interceptors

Readme

Keywords

none

Package Sidebar

Install

npm i @nanhuazhang/grpc-interceptors

Weekly Downloads

0

Version

1.0.2

License

ISC

Unpacked Size

48.3 kB

Total Files

28

Last publish

Collaborators

  • nanhuazhang