mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 01:30:10 +08:00
* Bump @octokit/plugin-retry from 4.0.4 to 5.0.2 Bumps [@octokit/plugin-retry](https://github.com/octokit/plugin-retry.js) from 4.0.4 to 5.0.2. - [Release notes](https://github.com/octokit/plugin-retry.js/releases) - [Commits](https://github.com/octokit/plugin-retry.js/compare/v4.0.4...v5.0.2) --- updated-dependencies: - dependency-name: "@octokit/plugin-retry" dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update checked-in dependencies --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Angela P Wen <angelapwen@github.com>
35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
import Bottleneck from "bottleneck/light";
|
|
import { RequestError } from "@octokit/request-error";
|
|
import { errorRequest } from "./error-request";
|
|
async function wrapRequest(state, octokit, request, options) {
|
|
const limiter = new Bottleneck();
|
|
limiter.on("failed", function(error, info) {
|
|
const maxRetries = ~~error.request.request.retries;
|
|
const after = ~~error.request.request.retryAfter;
|
|
options.request.retryCount = info.retryCount + 1;
|
|
if (maxRetries > info.retryCount) {
|
|
return after * state.retryAfterBaseValue;
|
|
}
|
|
});
|
|
return limiter.schedule(
|
|
requestWithGraphqlErrorHandling.bind(null, state, octokit, request),
|
|
options
|
|
);
|
|
}
|
|
async function requestWithGraphqlErrorHandling(state, octokit, request, options) {
|
|
const response = await request(request, options);
|
|
if (response.data && response.data.errors && /Something went wrong while executing your query/.test(
|
|
response.data.errors[0].message
|
|
)) {
|
|
const error = new RequestError(response.data.errors[0].message, 500, {
|
|
request: options,
|
|
response
|
|
});
|
|
return errorRequest(state, octokit, error, options);
|
|
}
|
|
return response;
|
|
}
|
|
export {
|
|
wrapRequest
|
|
};
|