nice-grpc-server-reflection

Server reflection for nice-grpc

Usage no npm install needed!

<script type="module">
  import niceGrpcServerReflection from 'https://cdn.skypack.dev/nice-grpc-server-reflection';
</script>

README

nice-grpc-server-reflection npm version

Server Reflection for nice-grpc.

Allows to use tools like grpcurl without the need to pass .proto files.

Installation

npm install nice-grpc-server-reflection

Usage

Add the following flags to protoc command:

--descriptor_set_out=path/to/protoset.bin --include_imports

Add ServerReflection service implementation to gRPC server:

import {createServer} from 'nice-grpc';
import {
  ServerReflectionService,
  ServerReflection,
} from 'nice-grpc-server-reflection';
import * as fs from 'fs';

const server = createServer();

// add our own service
server.add(MyService, myServiceImpl);

// add server reflection service
server.add(
  ServerReflectionService,
  ServerReflection(
    fs.readFileSync(path.join('path', 'to', 'protoset.bin')),
    // specify fully-qualified names of exposed services
    [MyService.fullName],
  ),
);