Skip to content

Commit 8491685

Browse files
rambo-pandarambo
andauthored
fix: error listening to req (#555)
* fix: error listening to req * feat: eslint Co-authored-by: rambo <luwei.li@17zuoye.com>
1 parent 6dd8c52 commit 8491685

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

load-image.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,18 @@ function makeRequest(url, resolve, reject, redirectCount, requestOptions) {
6060
// lazy load the lib
6161
const lib = isHttps ? (!https ? (https = require('https')) : https) : !http ? (http = require('http')) : http
6262

63-
lib.get(url, requestOptions || {}, (res) => {
64-
const shouldRedirect = REDIRECT_STATUSES.has(res.statusCode) && typeof res.headers.location === 'string'
65-
if (shouldRedirect && redirectCount > 0)
66-
return makeRequest(new URL(res.headers.location), resolve, reject, redirectCount - 1, requestOptions)
67-
if (typeof res.statusCode === 'number' && (res.statusCode < 200 || res.statusCode >= 300)) {
68-
return reject(new Error(`remote source rejected with status code ${res.statusCode}`))
69-
}
63+
lib
64+
.get(url, requestOptions || {}, (res) => {
65+
const shouldRedirect = REDIRECT_STATUSES.has(res.statusCode) && typeof res.headers.location === 'string'
66+
if (shouldRedirect && redirectCount > 0)
67+
return makeRequest(new URL(res.headers.location), resolve, reject, redirectCount - 1, requestOptions)
68+
if (typeof res.statusCode === 'number' && (res.statusCode < 200 || res.statusCode >= 300)) {
69+
return reject(new Error(`remote source rejected with status code ${res.statusCode}`))
70+
}
7071

71-
consumeStream(res).then(resolve, reject)
72-
})
72+
consumeStream(res).then(resolve, reject)
73+
})
74+
.on('error', reject)
7375
}
7476

7577
// use stream/consumers in the future?

0 commit comments

Comments
 (0)