From 308251545f93ca6c300a848e45c140fabe8affb2 Mon Sep 17 00:00:00 2001 From: jwbth <33615628+jwbth@users.noreply.github.com> Date: Fri, 21 Jan 2022 17:39:57 +0300 Subject: [PATCH] Only retry requests with relevant HTTP error codes in responses (#24) --- src/core.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core.ts b/src/core.ts index ecfbb47..2d09ed3 100644 --- a/src/core.ts +++ b/src/core.ts @@ -381,7 +381,12 @@ export class Response { !error.disableRetry && this.requestOptions.retryNumber < this.bot.options.maxRetries && // ENOTFOUND usually means bad apiUrl is provided, retrying is pointless and annoying - error.code !== 'ENOTFOUND' + error.code !== 'ENOTFOUND' && + ( + !error.response?.status || + // Vaguely retriable error codes + [408, 409, 425, 429, 500, 502, 503, 504].includes(error.response.status) + ) ) { // error might be transient, give it another go! log(`[W] Encountered ${error}, retrying in ${this.bot.options.retryPause / 1000} seconds`);