Package Exports
- @octokit/plugin-retry
- @octokit/plugin-retry/dist-node/index.js
- @octokit/plugin-retry/dist-src/index.js
- @octokit/plugin-retry/dist-web/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@octokit/plugin-retry) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
plugin-retry.js
Retries requests for server 4xx/5xx responses except
400
,401
,403
,404
, and422
.
Usage
Browsers |
Load <script type="module">
import { Octokit } from "https://cdn.skypack.dev/@octokit/core";
import { retry } from "https://cdn.skypack.dev/@octokit/plugin-retry";
</script> |
---|---|
Node |
Install with const { Octokit } = require("@octokit/core");
const { retry } = require("@octokit/plugin-retry"); |
const MyOctokit = Octokit.plugin(retry);
const octokit = new MyOctokit({ auth: "secret123" });
// 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 MyOctokit({
auth: "secret123",
retry: {
doNotRetry: [
/* List of HTTP 4xx/5xx status codes */
],
},
});
To override the number of retries:
const octokit = new MyOctokit({
auth: "secret123",
request: { retries: 1 },
});
You can manually ask for retries for any request by passing { request: { retries: numRetries, retryAfter: delayInSeconds }}
. Note that the doNotRetry
option from the constructor is ignored in this case, requests will be retried no matter their response code.
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.
Contributing
See CONTRIBUTING.md