36 lines
926 B
JavaScript
36 lines
926 B
JavaScript
import { VERSION } from "./version.js";
|
|
import { errorRequest } from "./error-request.js";
|
|
import { wrapRequest } from "./wrap-request.js";
|
|
import { VERSION as VERSION2 } from "./version.js";
|
|
function retry(octokit, octokitOptions) {
|
|
const state = Object.assign(
|
|
{
|
|
enabled: true,
|
|
retryAfterBaseValue: 1e3,
|
|
doNotRetry: [400, 401, 403, 404, 410, 422, 451],
|
|
retries: 3
|
|
},
|
|
octokitOptions.retry
|
|
);
|
|
if (state.enabled) {
|
|
octokit.hook.error("request", errorRequest.bind(null, state, octokit));
|
|
octokit.hook.wrap("request", wrapRequest.bind(null, state, octokit));
|
|
}
|
|
return {
|
|
retry: {
|
|
retryRequest: (error, retries, retryAfter) => {
|
|
error.request.request = Object.assign({}, error.request.request, {
|
|
retries,
|
|
retryAfter
|
|
});
|
|
return error;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
retry.VERSION = VERSION;
|
|
export {
|
|
VERSION2 as VERSION,
|
|
retry
|
|
};
|