Add async Brotli support (compress/decompress).#720
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. |
Introduce DeflatingBrotliAsyncEntityProducer and InflatingBrotliAsyncDataConsumer; register "br" when brotli4j is available.
133ec68 to
dde1243
Compare
Introduce DeflatingBrotliAsyncEntityProducer and InflatingBrotliAsyncDataConsumer; register "br" when brotli4j is available.