I tried to find any mention of handling of compression in new Java HTTP Client but failed. Is there a built-in configuration to handle for e.g.
I would expect to have a
BodyHandler for e.g. something like this:
but I don’t see any. I don’t see any configuration in
HttpClient either. Am I looking in the wrong place or was this intentionally not implemented and deferred to support libraries?
No, gzip/deflate compression are not handled by default. You would have to implement that in your application code if you need it – e.g. by providing a customized
BodySubscriber to handle it. Alternatively – you may want to have a look at whether some of the reactive stream libraries out there offer such a feature, in which case you might be able to pipe that in by using one of the
BodyHandlers.fromSubscriber(Flow.Subscriber<? super List<ByteBuffer>> subscriber) or