mirror of
https://github.com/jdalrymple/gitbeaker.git
synced 2026-01-25 16:04:01 +00:00
fix: Handling errors before retrying request (#142) [skip-ci]
This commit is contained in:
parent
34f7a7b1ef
commit
bc3b366ac6
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user