gRPC
Right-click in the tree ▸ Add ▸ gRPC request.

Configuration
Section titled “Configuration”| Field | Role |
|---|---|
| URL | The server’s host:port |
| Service / Method | The service and the RPC being called |
| Call type | unary, server-stream, client-stream, bidirectional-stream |
| Request message | The message, in JSON |
| Metadata | The key / value pairs sent with the call (this is where credentials travel) |
Where the service definition comes from
Section titled “Where the service definition comes from”Three possible sources, in order of precedence:
- a descriptor set obtained through server reflection — that is what a reflection import produces, and it wins over the rest;
- the inline
.protocontent, stored in the project; - a path to a
.protoon disk.
The first option has an important practical consequence: a request imported by reflection keeps working offline, without the server being reachable.
Importing by reflection
Section titled “Importing by reflection”From the gRPC import modal, give the host:port: Restorm queries the reflection
service, loads the descriptors and builds the tree — one folder per service, one
request per RPC, with a sample message.
Reconnecting to the same address is recognised as a re-synchronisation and updates the existing tree instead of duplicating it.
If the server does not implement reflection, Restorm says so explicitly: import
the .proto instead. See
Importing a gRPC .proto.
Transports
Section titled “Transports”Three transports are available:
| Transport | When to use it |
|---|---|
grpc (default) | Native gRPC over HTTP/2 |
grpc-web | Server behind a gRPC-Web proxy |
connect | Connect-RPC server |
Streaming calls
Section titled “Streaming calls”For all three streaming modes, the response panel shows messages as they arrive. In a scenario, use the gRPC connect, gRPC send and gRPC close actions: the connection stays open between boxes, each message received emits an event, and closing performs the client-side half-close.
Server mode
Section titled “Server mode”Restorm can host a mock gRPC server: a list of mocked methods, each with its response message (a JSON array for a stream), its status code, its trailing metadata, or a script. Server reflection is exposed by default, and TLS is configurable with a PEM-format certificate and key. See Mocking a gRPC API.
Code snippets
Section titled “Code snippets”Fourteen targets: grpcurl, grpc_cli, grpcurl in gRPC-Web mode, curl in
Connect-RPC mode, JavaScript and TypeScript (@grpc/grpc-js), Python (grpcio),
Go, Java (grpc-java), C# (Grpc.Net.Client), Ruby, Rust (tonic), Kotlin
(grpc-kotlin), Swift (grpc-swift).