Implements request retries for server 4xx/5xx responses except 400
, 401
, 403
and 404
.
const Octokit = require('@ocotkit/rest')
.plugin(require('@octokit/plugin-retry'))
const octokit = new Octokit()
// retries request up to 3 times in case of a 500 response
octokit.request('/').catch(error => {
if (error.request.request.retryCount) {
console.log(`request failed after ${error.request.request.retryCount} retries`)
}
console.error(error)
})
To override the default doNotRetry
list:
const octokit = new Octokit({
retry: {
doNotRetry: [ /* List of HTTP 4xx/5xx status codes */ ]
}
})
You can manually ask for retries for any request by passing { request: { retries: numRetries, retryAfter: delayInSeconds }}
octokit.request('/', { request: { retries: 1, retryAfter: 1 } }).catch(error => {
if (error.request.request.retryCount) {
console.log(`request failed after ${error.request.request.retryCount} retries`)
}
console.error(error)
})