Skip to content

Commit

Permalink
refactor: use more clear retryer error messages
Browse files Browse the repository at this point in the history
  • Loading branch information
qwerty541 committed Sep 10, 2023
1 parent b0e15fb commit bf67b7d
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
7 changes: 6 additions & 1 deletion src/common/retryer.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { CustomError, logger } from "./utils.js";

// Script variables.

// Count the number of GitHub API tokens available.
const PATs = Object.keys(process.env).filter((key) =>
/PAT_\d*$/.exec(key),
).length;
const RETRIES = PATs ? PATs : 7;
const RETRIES = process.env.NODE_ENV === "test" ? 7 : PATs;

/**
* @typedef {import("axios").AxiosResponse} AxiosResponse Axios response.
Expand All @@ -20,6 +22,9 @@ const RETRIES = PATs ? PATs : 7;
* @returns {Promise<T>} The response from the fetcher function.
*/
const retryer = async (fetcher, variables, retries = 0) => {
if (!RETRIES) {
throw new CustomError("No GitHub API tokens found", CustomError.NO_TOKENS);
}
if (retries > RETRIES) {
throw new CustomError("Maximum retries exceeded", CustomError.MAX_RETRY);
}
Expand Down
6 changes: 4 additions & 2 deletions src/common/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,9 @@ const CONSTANTS = {
};

const SECONDARY_ERROR_MESSAGES = {
MAX_RETRY:
"Please add an env variable called PAT_1 with your github token in vercel",
MAX_RETRY: "Downtime due to GitHub API rate limiting",
NO_TOKENS:
"Please add an env variable called PAT_1 with your GitHub API token in vercel",
USER_NOT_FOUND: "Make sure the provided username is not an organization",
GRAPHQL_ERROR: "Please try again later",
WAKATIME_USER_NOT_FOUND: "Make sure you have a public WakaTime profile",
Expand All @@ -340,6 +341,7 @@ class CustomError extends Error {
}

static MAX_RETRY = "MAX_RETRY";
static NO_TOKENS = "NO_TOKENS";
static USER_NOT_FOUND = "USER_NOT_FOUND";
static GRAPHQL_ERROR = "GRAPHQL_ERROR";
static WAKATIME_ERROR = "WAKATIME_ERROR";
Expand Down

0 comments on commit bf67b7d

Please sign in to comment.