grpc_status
Versions marked “overview” do not contain this page. Selecting one opens that version’s documentation overview.
On this page
Answers proxy-generated errors in the shape gRPC clients expect.
Configuration Notes
gRPC carries a call’s outcome in a grpc-status header on an HTTP 200, not in the HTTP status. When Praxis rejects a call itself — an ACL denial, a missing route, an unreachable upstream — it writes an ordinary HTTP error, which a gRPC client reports as a transport failure with no usable status. This filter marks the request so those errors are emitted as Trailers-Only responses instead: a single header block, no body, with grpc-status mapped from the HTTP status Praxis chose.
Successful short-circuits (a CORS preflight, a static_response) are left as real HTTP responses: only error statuses become gRPC statuses.
Non-gRPC requests are untouched, so a listener can carry mixed traffic.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
content_type | echo | grpc | yes | content-type written on the error response. |
detect | content_type | always | yes | Which requests get gRPC error responses. |
include_message | bool | yes | Whether to include the proxy’s error text as grpc-message. |
Example
filter: grpc_status
detect: content_type # content_type | always
content_type: echo # echo | grpc
include_message: true