gRPC-JSON reverse transcoder (proto)
This extension has the qualified name envoy.filters.http.grpc_json_reverse_transcoder
Note
This extension is functional but has not had substantial production burn time, use only with this caveat.
This extension has an unknown security posture and should only be used in deployments where both the downstream and upstream are trusted.
Tip
This extension extends and can be used with the following extension category:
This extension must be configured with one of the following type URLs:
gRPC-JSON reverse transcoder configuration overview.
extensions.filters.http.grpc_json_reverse_transcoder.v3.GrpcJsonReverseTranscoder
[extensions.filters.http.grpc_json_reverse_transcoder.v3.GrpcJsonReverseTranscoder proto]
GrpcJsonReverseTranscoder is the filter configuration for the gRPC JSON
reverse transcoder. The reverse transcoder acts as a bridge between a gRPC
client and an HTTP/JSON server, converting the gRPC request into HTTP/JSON
for the HTTP backend and the HTTP/JSON response back to gRPC for the gRPC
client. This effectively reverses the behavior of the
grpc_json_transcoder filter,
allowing a gRPC client to communicate with an HTTP/JSON server.
{
"descriptor_path": ...,
"descriptor_binary": ...,
"max_request_body_size": {...},
"max_response_body_size": {...},
"api_version_header": ...
}
- descriptor_path
(string) Supplies the filename of the proto descriptor set for the gRPC services. If set, takes precedence over the
descriptor_binaryfield.
- descriptor_binary
(bytes) Supplies the binary content of the proto descriptor set for the gRPC services. If
descriptor_pathis set, this field is not used.
- max_request_body_size
(UInt32Value) The maximum size of a request body to be transcoded, in bytes. A body exceeding this size will provoke a
gRPC status: ResourceExhaustedresponse.Large values may cause envoy to use a lot of memory if there are many concurrent requests.
If unset, the current stream buffer size is used.
- max_response_body_size
(UInt32Value) The maximum size of a response body to be transcoded, in bytes. A body exceeding this size will provoke a
gRPC status: Internalresponse.Large values may cause envoy to use a lot of memory if there are many concurrent requests.
If unset, the current stream buffer size is used.
- api_version_header
(string) The name of the header field that has the API version of the request.