UNPKG

aws-delivlib

Version:

A fabulous library for defining continuous pipelines for building, testing and releasing code libraries.

42 lines (41 loc) 1.22 kB
import { Octokit as OctokitCore } from "@octokit/core"; import { paginateRest } from "@octokit/plugin-paginate-rest"; import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods"; import { retry } from "@octokit/plugin-retry"; import { throttling } from "@octokit/plugin-throttling"; import { VERSION } from "./version"; import { RequestError } from "@octokit/request-error"; const Octokit = OctokitCore.plugin( restEndpointMethods, paginateRest, retry, throttling ).defaults({ userAgent: `octokit.js/${VERSION}`, throttle: { onRateLimit, onSecondaryRateLimit } }); function onRateLimit(retryAfter, options, octokit) { octokit.log.warn( `Request quota exhausted for request ${options.method} ${options.url}` ); if (options.request.retryCount === 0) { octokit.log.info(`Retrying after ${retryAfter} seconds!`); return true; } } function onSecondaryRateLimit(retryAfter, options, octokit) { octokit.log.warn( `SecondaryRateLimit detected for request ${options.method} ${options.url}` ); if (options.request.retryCount === 0) { octokit.log.info(`Retrying after ${retryAfter} seconds!`); return true; } } export { Octokit, RequestError };