tonyo / plugin-retry.js

Octokit plugin for GitHub’s recommended request retries

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Pass { retry: { enabled: false } } to disable this plugin.

LICENSE

MIT

About

Octokit plugin for GitHub’s recommended request retries

License:MIT License


Languages

Language:JavaScript 100.0%