HTTP, WebSocket, and gRPC¶
HTTP¶
HTTP is the default transport.
- Supports baseUrl composition
- Supports query parameters, headers, body, hooks, assertions
- Supports retries and timeout
WebSocket¶
WebSocket transport opens a connection, sends message payload, and waits for response.
Relevant fields:
- transport: websocket
- url: ws or wss endpoint
- websocket.message
- websocket.subprotocol
- websocket.responseTimeoutMs
Behavior notes:
- Request is considered successful when a message is received within timeout.
gRPC¶
gRPC transport supports unary calls with proto-driven client resolution.
Relevant fields:
- transport: grpc
- url: host:port target for grpc client
- grpc.protoPath
- grpc.package (optional)
- grpc.service
- grpc.method
- grpc.payload (optional)
- grpc.metadata (optional)
- grpc.useTls (optional)
Behavior notes:
- Runtime loads proto via proto-loader.
- Service and method are resolved dynamically.
- Call deadline is driven by endpoint timeout.
Example¶
{
"endpoints": [
{ "name": "http-health", "transport": "http", "url": "/health", "method": "GET" },
{ "name": "grpc-ping", "transport": "grpc", "url": "grpc://localhost:50051/health.PingService/Ping", "method": "POST" },
{ "name": "ws-echo", "transport": "websocket", "url": "ws://localhost:8080/echo", "method": "GET" }
]
}