From 5e852235ce00bc3ed115c28d84b0f67fc3c95be0 Mon Sep 17 00:00:00 2001 From: Oleksii Holub <1935960+Tyrrrz@users.noreply.github.com> Date: Thu, 25 Aug 2022 21:32:47 +0300 Subject: [PATCH] Retry on all Discord server side errors Closes #908 --- DiscordChatExporter.Core/Utils/Http.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/DiscordChatExporter.Core/Utils/Http.cs b/DiscordChatExporter.Core/Utils/Http.cs index 3ec0ff9..9e60133 100644 --- a/DiscordChatExporter.Core/Utils/Http.cs +++ b/DiscordChatExporter.Core/Utils/Http.cs @@ -13,10 +13,11 @@ public static class Http { public static HttpClient Client { get; } = new(); - private static bool IsRetryableStatusCode(HttpStatusCode statusCode) => statusCode is - HttpStatusCode.TooManyRequests or - HttpStatusCode.RequestTimeout or - HttpStatusCode.InternalServerError; + private static bool IsRetryableStatusCode(HttpStatusCode statusCode) => + statusCode is HttpStatusCode.TooManyRequests or HttpStatusCode.RequestTimeout || + // Treat all server-side errors as retryable. + // https://github.com/Tyrrrz/DiscordChatExporter/issues/908 + (int)statusCode >= 500; private static bool IsRetryableException(Exception exception) => exception.GetSelfAndChildren().Any(ex =>