fix(client): Handle multiple layers of compression #657
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a server responds with a
Content-Encodingof something likedeflate, gzip, clj-http would not be able to handle the response as the response body has been compressed using zlib and then compressed again using gzip.This patch adds a recursive wrapper to the decompression handling that allows for multiple layers of compression to be unwrapped when receiving responses like this.
The content encoding header is split by commas, then in reverse order is decompressed layer by layer until the final body is produced which is then returned to the caller.