-
Notifications
You must be signed in to change notification settings - Fork 17
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
FR: disassociate target and client options #153
Comments
The The The bullet list you mention is almost exactly what the vanguard-go handler does. For example, if you use the Right now, I don't think it tries to compress responses if the backend doesn't compress them. Forcing compressed responses could be an option that we add (likely a transcoder option). |
Thank you. Indeed, I tried to specify I understand the logic for e.g grpc client -> grpc server, but for connect/web/rest clien -> grpc server, unless it's a remote proxy, it doesn't make sense to compress the response just to uncompress and recompress it again in the same request lifecycle. |
I realized I was doing unnecessary work and it is indeed easier to just transparently and automagically support all of the protocols. |
I don’t think this issue is fixed. I tried applying compression outside of transcoder as a middleware, but it wouldn’t work because transfer chunking has to happen after the response is compressed (it appears transcoder initiates the chunking). |
I think you're describing something different from separating target and client options (which is the subject of this issue). I think you're talking about an enhancement to force compression on responses, even when the origin server has not provided a compressed response? If that's right, please open a new issue for that. |
Currently, I can only specify which protocols my grpc server supports, but can't specify which protocols I want to support for the downstream (i.e clients).
If we assume that targets are usually only gRPC, then that leaves us with no way to specify client options and a lot of options for target which aren't really used.
From the source I see that
serviceOptions
doesn't have things like codecsMap or compressorsMap, and it's unclear how to specify options so that we can do this:The text was updated successfully, but these errors were encountered: