Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function getTarball (name, filename) {
return HTTP.stream(`${config.uplink.href}${name}/-/${filename}`, getRequestOpts())
}
async function call (url, out, retries) {
try {
let {response} = await http.stream(url)
response.on('data', function (d) {
out.write(d)
})
return await new Promise(function (resolve, reject) {
response.on('error', reject)
response.on('end', resolve)
})
} catch (err) {
if (err.statusCode === 404 && retries <= maxRetries) {
return new Promise(function (resolve, reject) {
setTimeout(function () {
call(url, out, retries + 1).then(resolve, reject)
}, 1000)
})
}
throw err