// grpc
gRPC
Resonance speaks gRPC natively, with server reflection so you can explore a service without hunting down its .proto files. Everything runs locally through the Rust backend.
What It Does
- Discovers services and methods automatically via gRPC server reflection
- Supports all four RPC kinds: unary, server-streaming, client-streaming, and bidirectional streaming
- Connects over plaintext or TLS
- Sends request metadata (headers) and shows response metadata and trailers
- Edits messages as JSON, with skeletons generated from the method’s schema
Connecting to a Server
- Create a gRPC request — the panel switches to gRPC mode
- Enter the server address as
host:port, e.g.localhost:50051 - Enable TLS for secure servers
- Fetch the service list via reflection, or load a
.protofile directly - Pick a service and method — the message editor populates with a JSON skeleton
RPC Kinds
The method kind is shown as a badge next to the selected method. Each kind behaves differently once you send:
- Unary — one request, one response. Click Send.
- Server-streaming — one request, a stream of responses appended to the transcript as they arrive
- Client-streaming — send several messages, then close the stream to receive the single response
- Bidirectional — send and receive concurrently; the transcript shows both directions
Metadata, Messages & Trailers
- Add key-value metadata (the gRPC equivalent of headers) to the outgoing call
- Edit the request message as JSON — the skeleton mirrors the message’s fields
- Response metadata and trailers appear in their own response tabs
Troubleshooting
Method discovery is empty
- The server must have the gRPC reflection service enabled
- If reflection is unavailable, load the service’s
.protofile instead
TLS handshake fails
- Confirm the TLS toggle matches the server (plaintext vs. secure)
- For private or self-signed CAs, configure custom CA trust in the certificate settings
Next Steps
- Getting Started — environments and variables you can reuse in metadata
- WebSocket — another persistent, streaming transport