digitalbazaar / http-client

An opinionated, isomorphic HTTP client.
BSD 3-Clause "New" or "Revised" License
2 stars 7 forks source link

Add support for `content-encoding` and compressed `response.body` #30

Open aljones15 opened 2 years ago

aljones15 commented 2 years ago

This library fails if a route returns the following headers:

'content-type' => 'application/json; charset=utf-8 and 'content-encoding' => 'gzip',

In this case the response.body is gzipped json. We need to support compressed response.bodies.

Note: Axios has an existing decompress function that appears to use zlib to automatically inflate compressed response.bodies.

Axios code here:

https://github.com/axios/axios/blob/738fa63661a7a5d7e8bf604436bb3b91648e327b/lib/adapters/http.js#L376-L401

EDIT: content-encoding is part of the fetch spec so it appears that something is broken in node 18.8-18.9 that is causing this issue somewhere down the line. Close this issue when content-encoding is working again.

dlongley commented 1 year ago

We should close this if we don't have a test to run to determine whether there's a problem.