From 3b15a5577d09a9b83ce6105e96b14cec04b5b7a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Spie=C3=9F?= Date: Fri, 2 Aug 2024 20:28:21 +0200 Subject: [PATCH] Expand list of retried http error codes (#2710) --- .../jda/internal/requests/Requester.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/dv8tion/jda/internal/requests/Requester.java b/src/main/java/net/dv8tion/jda/internal/requests/Requester.java index ef534fb634..72037b2af3 100644 --- a/src/main/java/net/dv8tion/jda/internal/requests/Requester.java +++ b/src/main/java/net/dv8tion/jda/internal/requests/Requester.java @@ -49,6 +49,18 @@ public class Requester { + private static final int[] RETRY_ERROR_CODES = { + 502, // bad gateway + 503, // service temporarily unavailable + 504, // gateway timeout + 520, // web server returns an unknown error + 521, // web server is down + 522, // connection timed out + 523, // origin is unreachable + 524, // a timeout occurred + 529, // The service is overloaded + }; + public static final Logger LOG = JDALogger.getLog(Requester.class); @SuppressWarnings("deprecation") public static final RequestBody EMPTY_BODY = RequestBody.create(null, new byte[0]); @@ -341,7 +353,14 @@ public void stop(boolean shutdown, Runnable callback) private static boolean shouldRetry(int code) { - return code == 502 || code == 504 || code == 529; + if (code < RETRY_ERROR_CODES[0] || code > RETRY_ERROR_CODES[RETRY_ERROR_CODES.length - 1]) + return false; + for (int retryCode : RETRY_ERROR_CODES) + { + if (retryCode == code) + return true; + } + return false; } private long parseRetry(okhttp3.Response response)