New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
grpc-web filter not setting http status code from grpc status #5331
Comments
@jwahlin, the grpc status is encoded as response body instead of the http/http2 response code. https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md
|
Thanks for taking a look at this. I do see the grpc-status included in the response trailers. Just to clarify, you're saying that regardless of the grpc-status, the http status is intended to stay at 200, is that right? I'm not sure how the stream-id and go-away changes are related. |
|
Thanks for the information. When we use http (and the grpc_http1_bridge), the grpc-status does determine the http status. When we use http2, the grpc-status does not affect the http status. Are there any plans to add a grpc_http2_bridge that sets the http2 status based on the grpc-status? |
grpc_http1_bridge is not considered as a grpc-web compatible filter. |
Makes sense. Thanks for your time! |
I'm using the grpc-web filter and it isn't setting the http status appropriately from the gRPC status. The gRPC status is coming through the response in the trailers since we're using http2.
To replicate the issue, use the grpc-web filter and send a grpc-web request through Envoy that should fail. The grpc-status will be non-zero, but the http status will show 200. I expect envoy to translate the grpc-status trailer to an http status.
The text was updated successfully, but these errors were encountered: