diff options
author | Minteck <contact@minteck.org> | 2022-04-09 16:39:03 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-04-09 16:40:02 +0200 |
commit | 0f8967b9113d698cdeb2d05ca85d2d9a80461c24 (patch) | |
tree | 00664ddd9c55a2c33631fd1bd33e556cea9c67e5 /node_modules/got/source/get-response.js | |
parent | dac03ac82bc0f8044a4b339c27b5390e4dcecf2f (diff) | |
download | voicer-0f8967b9113d698cdeb2d05ca85d2d9a80461c24.tar.gz voicer-0f8967b9113d698cdeb2d05ca85d2d9a80461c24.tar.bz2 voicer-0f8967b9113d698cdeb2d05ca85d2d9a80461c24.zip |
Diffstat (limited to 'node_modules/got/source/get-response.js')
-rw-r--r-- | node_modules/got/source/get-response.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/got/source/get-response.js b/node_modules/got/source/get-response.js new file mode 100644 index 0000000..18453c2 --- /dev/null +++ b/node_modules/got/source/get-response.js @@ -0,0 +1,31 @@ +'use strict'; +const decompressResponse = require('decompress-response'); +const is = require('@sindresorhus/is'); +const mimicResponse = require('mimic-response'); +const progress = require('./progress'); + +module.exports = (response, options, emitter) => { + const downloadBodySize = Number(response.headers['content-length']) || null; + + const progressStream = progress.download(response, emitter, downloadBodySize); + + mimicResponse(response, progressStream); + + const newResponse = options.decompress === true && + is.function(decompressResponse) && + options.method !== 'HEAD' ? decompressResponse(progressStream) : progressStream; + + if (!options.decompress && ['gzip', 'deflate'].includes(response.headers['content-encoding'])) { + options.encoding = null; + } + + emitter.emit('response', newResponse); + + emitter.emit('downloadProgress', { + percent: 0, + transferred: 0, + total: downloadBodySize + }); + + response.pipe(progressStream); +}; |