Skip to content

Octokit plugin for GitHub’s recommended request retries

License

Notifications You must be signed in to change notification settings

octokit/plugin-retry.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plugin-retry.js

npm Build Status Coverage Status Greenkeeper

Implements request retries for server 4xx/5xx responses except 400, 401, 403 and 404.

Usage

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)
})

LICENSE

MIT