Skip to content

Commit

Permalink
fix: error listening to req (#555)
Browse files Browse the repository at this point in the history
* fix: error listening to req

* feat: eslint

Co-authored-by: rambo <luwei.li@17zuoye.com>
  • Loading branch information
rambo-panda and rambo committed Sep 7, 2022
1 parent 6dd8c52 commit 8491685
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions load-image.js
Expand Up @@ -60,16 +60,18 @@ function makeRequest(url, resolve, reject, redirectCount, requestOptions) {
// lazy load the lib
const lib = isHttps ? (!https ? (https = require('https')) : https) : !http ? (http = require('http')) : http

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

consumeStream(res).then(resolve, reject)
})
consumeStream(res).then(resolve, reject)
})
.on('error', reject)
}

// use stream/consumers in the future?
Expand Down

0 comments on commit 8491685

Please sign in to comment.