Skip to content

Commit 974473a

Browse files
authored
Correctly forward stream errors (#424)
Related to #388
1 parent 9495256 commit 974473a

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,10 @@ function asStream(opts) {
416416

417417
const statusCode = res.statusCode;
418418

419+
res.on('error', err => {
420+
proxy.emit('error', new got.ReadError(err, opts));
421+
});
422+
419423
res.pipe(output);
420424

421425
if (statusCode !== 304 && (statusCode < 200 || statusCode > 299)) {

test/gzip.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@ test('handles gzip error', async t => {
6666
t.is(err.name, 'ReadError');
6767
});
6868

69+
test('handles gzip error - stream', async t => {
70+
const err = await t.throws(getStream(got.stream(`${s.url}/corrupted`)));
71+
t.is(err.message, 'incorrect header check');
72+
t.is(err.path, '/corrupted');
73+
t.is(err.name, 'ReadError');
74+
});
75+
6976
test('decompress option opts out of decompressing', async t => {
7077
const response = await got(s.url, {decompress: false});
7178
t.true(Buffer.compare(response.body, gzipData) === 0);

0 commit comments

Comments
 (0)