-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
gzip filter: support chunked transfer encoding #6632
Comments
@fengli79 any thoughts on this? |
It seems that it is not easy to add content-length in grpc_web filter. encodeHeaders() doesn't have the response data. encodeData() could be called multiple times. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions. |
@wenbozhu |
Can this be reopened? |
help wanted |
@mjduijn I'm facing the same problem, did you ever come to a resolution on this? |
I did not, however I switched jobs and haven't used grpc-web in over a year |
@kim-nguyenkhn @wenbozhu @fengli79 @stanley-cheung Is there a way to resolve this? Would be great to have this so grpc-web responses can be compressed (or if there's another way to compress grpc-web responses, I would love to take a look). Thanks. |
Looks like Envoy 1.18 solved this? |
Title: grpc-web: compress response for service methods with non-streaming response
Description:
I have a setup with a frontend making requests to our backend using grpc/grpc-web[^1] via the envoy grpc-web filter.
Currently a response to a simple request-response service method is never compressed, but this is accepted by the grpc-web client and thus should be possible.
I have enabled the
envoy.gzip
plugin and addedapplication/grpc-web-text+proto
andapplication/grpc-web-text
incontent_types
.The content being sent by the grpc-web protocol is Base64 encoded proto bytes[^2], meaning the reduction in response size should be significant.
The request headers:
The response headers:
The only missing requirement for the gzip filter to compress a response[^3] seems to be a missing content length. Unfortunately I can't see the response returned by the various filters (even with
--log-level=trace
) so I can't be sure this is what is missing.Relevant Links
mode=grpcweb
but that completely disables all streaming calls (see README.md)The text was updated successfully, but these errors were encountered: