4
votes

I am using Axios to get the JSON response from the web server. The response is in compressed gzip format. How can I decompress the response and get the Json Data.

2

2 Answers

2
votes
const zlib = require('zlib')

let url = "https://example.com/GZ_FILE.gz"

const { data } = await axios.get(url, { responseType: 'arraybuffer' })

zlib.gunzip(data, function (_err, output) {
    console.log(output.toString())
  })
1
votes

axios has a decompress option. No need to decompress it manually:

const { data } = await axios.get(url, { responseType: 'arraybuffer', 'decompress': true })

Also, your server should never sent compressed content if your Accept-Encoding header does not contain gzip (or any other compression format).