grpc-mate
grpc-mate copied to clipboard
A dynamic proxy server that translates JSON HTTP requests into gRPC calls.
I keep getting the following error from my gRPC server: >2022/07/10 16:42:10 http: TLS handshake error from 172.22.224.1:60652: tls: first record does not look like a TLS handshake Any chance...
Hi. I have been having issues discovering services that supposedly have ServerReflection enabled. I am running the helloworld example from the grpc official repository.  However, when I try to...
Is it possible to set custom headers? I can't interact with grpc-mate by browser
For users that develop gRPC services alongside gRPC Mate, a web UI of the latter is handy. User can check with services/methods they are working on, and quickly shoot a...
Inspect if the target gRPC service has a [health check service](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) registered, monitor the service result, if it returns non-OK status, gRPC Mate can show something like `DOWN` or 503...
Currently grpc-mate provides `/actuator/services` endpoint that returns all services, methods and types. An example response: ``` { "services":[ { "name":"grpc.examples.echo.Echo", "methods":[ { "name":"UnaryEcho", "input":"grpc.examples.echo.EchoRequest", "output":"grpc.examples.echo.EchoResponse", "route":"/grpc.examples.echo.Echo/UnaryEcho" }, { "name":"ServerStreamingEcho", "input":"grpc.examples.echo.EchoRequest",...
Currently grpc-mate supports only unary calls. It would be nice to support streaming as well. Need to address how to workaround client/server streaming with HTTP/1.1
Currently grpc-mate returns HTTP status code `502` when backend gRPC server does not support reflection. It might be more user-friendly to also give a descriptive message about this fact.
Maybe provide something like auto inject container to pods that have specific metadata tags. Like `grpc-mate.enabled`, or something better.
The mapping is here: https://github.com/gdong42/grpc-mate/blob/3e265f4c5ac3b5a41e0de3cb8cfddd7a28bcec07/errors/errors.go#L135C15-L135C39 According to gRPC standard the mapping should be 429: https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto I'm wondering is there any special reason behind this? Thank you.