fix: Handling errors before retrying request (#142) [skip-ci]

This commit is contained in:
Justin 2018-08-15 05:57:01 -04:00
parent 34f7a7b1ef
commit bc3b366ac6

View File

@ -99,13 +99,20 @@ async function getPaginated(service, endpoint, options = {}, sleepOnRateLimit =
return data;
} catch (err) {
if(
!err.response ||
!err.response.headers ||
!err.response.headers['retry-after'] ||
parseInt(err.statusCode, 10) != 429
) throw error;
const sleepTime = parseInt(err.response.headers['retry-after'], 10);
if (sleepOnRateLimit && parseInt(err.statusCode, 10) === 429
&& sleepTime) {
await wait(sleepTime * 1000);
return getPaginated(service, endpoint, options, sleepOnRateLimit);
}
throw err;
if (!sleepTime) throw error;
await wait(sleepTime * 1000);
return getPaginated(service, endpoint, options);
}
}