Supported protocols
In Restorm, a protocol is not a degraded flavour of HTTP: each one has its own editor, its own execution and its own response rendering. The same project can therefore hold a REST call, an MQTT subscription and a Kafka consumer side by side.
Every execution protocol is included in the Community edition, without limits.
Request / response
Section titled “Request / response”| Protocol | What for | Server mode |
|---|---|---|
| HTTP | REST and any HTTP call | ✔ |
| GraphQL | Queries, mutations, subscriptions | ✔ |
| gRPC | Unary and streaming calls, gRPC-Web, Connect | ✔ |
| SOAP | WSDL services, XML envelopes | ✔ |
| OData | Entity sets, query options, $batch | ✔ |
| JSON-RPC | JSON-RPC 2.0, single or batch | — |
| tRPC | query and mutation procedures | — |
Streaming and messaging
Section titled “Streaming and messaging”| Protocol | What for | Server mode |
|---|---|---|
| WebSocket | Raw bidirectional connection | ✔ |
| Socket.IO | Named Socket.IO events | ✔ |
| MQTT | IoT — topics, QoS, retention, last will | ✔ |
| SSE | Server-Sent Events, receive-side | — |
| STOMP | STOMP over WebSocket | — |
| AMQP | RabbitMQ — publish, consume, inspect | — |
| Kafka | Produce, consume, inspect a partition | — |
| Redis | Pub/Sub and commands | — |
What they all share
Section titled “What they all share”{{variables}}are resolved in every field, including protocol-specific ones. See Inline variables.- History records every run, whatever the protocol. See Request history.
- Code snippets are generated for every protocol, in the relevant languages. See Code export.
- Scenarios can drive every protocol, including long-lived connections (connect / send / close). See Action catalogue.
- The firewall intercepts every outbound call, whatever the transport. See Firewall.
What is not supported
Section titled “What is not supported”To be clear about the boundaries: Restorm does not execute Thrift (its import is documentation-only), nor AMQP 1.0 (only AMQP 0-9-1 / RabbitMQ is implemented), nor NATS.