-
Notifications
You must be signed in to change notification settings - Fork 983
Add async Brotli support (compress/decompress). #720
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
Conversation
|
This is confusing. I thought we were using Commons Compress (and a different Brotli library) for this type of functionality. |
@garydgregory Gary — we can’t use Apache Commons Compress for the async path because its API is built around blocking InputStream/OutputStream. |
@arturobernalg Here's the thing. If you happen to have some time for open-source development, just as an idea, consider contributing async friendly APIs to Commons Compress, which HttpClient could consume the same way it consumes the existing one based on |
@ok2c Naahh… I’m sure Gary will magically implement all the async APIs in Commons himself — like he normally does for every other module. No need for me to reinvent the wheel there... feel free to cancel the PR |
@arturobernalg Christ. This is not what I would expect. I am not in a position to close any of your PR unless I have a better solution of the same problem. Please bear with me, I will review them, but I am presently crushed with day work and H2 protocol handling rewrite. It may take a while. |
No problem, Oleg. Thanks for the update. Take your time with the H2 rewrite — keep up the spirit with that. |
ok2c
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@arturobernalg Looks good to me
Introduce DeflatingBrotliAsyncEntityProducer and InflatingBrotliAsyncDataConsumer; register "br" when brotli4j is available.
133ec68 to
dde1243
Compare
Introduce DeflatingBrotliAsyncEntityProducer and InflatingBrotliAsyncDataConsumer; register "br" when brotli4j is available.