gRPC / Protobuf
GraphQL Mesh v0 documentation (superseded by v1): GraphQL Mesh gRPC Handler allows loading gRPC definition files and using reflection, with custom metadata for authorization. Learn more now!

This Handler allows you to load gRPC definition files (.proto).
Now, you can use it directly in your Mesh config file:
Use Reflection instead of proto files
If you have configured reflection in your gRPC server, you don’t need to provide source.
Custom Metadata for Authorization
Here you can use metaData field to pass some custom metadata from the context.
Reflection Metadata (reflectionMetadata)
When using gRPC reflection (no source), use reflectionMetadata to send metadata only on
reflection requests — for example routing headers required by your infrastructure:
Channel Options & Timeouts
requestTimeoutsets a per-call deadline (milliseconds from the start of each request).channelOptionsare passed to the gRPC client constructor (message size limits, keepalive, etc.):
Config API Reference
endpoint(type:String, required) - gRPC Endpointsource- - gRPC Proto file that contains your protobuf schema OR Use a binary-encoded or JSON file descriptor set file One of:object:file(type:String, required)load(type:Object):defaults(type:Boolean)includeDirs(type:Array of String)
String
requestTimeout(type:Int) - Request timeout in milliseconds Default: 200000credentialsSsl(type:Object) - SSL Credentials:rootCA(type:String)certChain(type:String)privateKey(type:String)
useHTTPS(type:Boolean) - Use https instead of http for gRPC connectionmetaData(type:JSON) - MetaDataprefixQueryMethod(type:Array of String) - prefix to collect Query method default: list, getselectQueryOrMutationField(type:Array of Object) - Allows to explicitly override the default operation (Query or Mutation) for any gRPC operation:type(type:String (query | mutation | Query | Mutation), required)fieldName(type:String, required)
schemaHeaders(type:JSON) - HTTP headers whensourcepoints to a remote.graphqlSDLreflectionMetadata(type:JSON) - gRPC metadata sent with server-reflection requests (e.g. routing / auth metadata). Only used when loading the schema via reflection (nosource/ emptysource).channelOptions(type:JSON) - Channel options passed to the gRPC client (e.g. grpc.max_receive_message_length, grpc.keepalive_time_ms). See https://grpc.github.io/grpc/core/group__grpc__arg__keys.html