@pionerlabs/grpc-interceptors
TypeScript icon, indicating that this package has built-in type declarations

0.2.5 • 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 grpc = require('grpc');

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

const myMiddlewareFunc = async function (ctx, next, errorCb) {

    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 @pionerlabs/grpc-interceptors

Weekly Downloads

60

Version

0.2.5

License

ISC

Unpacked Size

22.4 kB

Total Files

19

Last publish

Collaborators

  • jacekelgda
  • wowczarczyk
  • qk
  • 23doors
  • wojtkowiak
  • draggho
  • wwasowicz
  • nowas
  • pionerlabs-bot
  • mastermonar
  • szymn
  • shaxbee
  • mmalecki