Skip to content

papajuanito/grpc-node-server-reflection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gRPC NodeJS Server Reflection

This package adds Server Reflection support to your @grpc/grpc-js servers.

Installation

npm:

npm install grpc-node-server-reflection

yarn:

yarn add grpc-node-server-reflection

How to use

To add the server reflection service pass your gRPC Server instance to the provided wrapServerWithReflection.

import * as grpc from '@grpc/grpc-js';
import wrapServerWithReflection from 'grpc-node-server-reflection';

// This wraps the instance of gRPC server with the Server Reflection service and returns it.
const server = wrapServerWithReflection(new grpc.Server());


// Since the wrapped server intercepts the `addService` method to keep track
// of all services added to the server make sure to add your services after
// wrapping your instance of the gRPC Server.
server.addService(...);

After wrapping your server you should now be able to rely on server reflection:

$ grpcurl -plaintext localhost:8080 list


grpc.reflection.v1alpha.ServerReflection
example.ExampleService
$ grpcurl -plaintext localhost:8080 describe grpc.reflection.v1alpha.ServerReflection

grpc.reflection.v1alpha.ServerReflection is a service:
service ServerReflection {
  rpc ServerReflectionInfo ( stream .grpc.reflection.v1alpha.ServerReflectionRequest ) returns ( stream .grpc.reflection.v1alpha.ServerReflectionResponse );
}

Support Status

Current Support by Server Reflection Request type:

Type Description Supported
ListServices List the full names of registered services ✔️
FileContainingSymbol Find the proto file that declares the given fully-qualified symbol name. ✔️
FileByFilename Find a proto file by the file name.
FileContainingExtension Find the proto file which defines an extension extending the given message type with the given field number.

About

gRPC Node Reflection Service Implementation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published