Retry on all Discord server side errors

Closes #908
This commit is contained in:
Oleksii Holub 2022-08-25 21:32:47 +03:00
parent 612c6d37a4
commit 5e852235ce

View file

@ -13,10 +13,11 @@ public static class Http
{ {
public static HttpClient Client { get; } = new(); public static HttpClient Client { get; } = new();
private static bool IsRetryableStatusCode(HttpStatusCode statusCode) => statusCode is private static bool IsRetryableStatusCode(HttpStatusCode statusCode) =>
HttpStatusCode.TooManyRequests or statusCode is HttpStatusCode.TooManyRequests or HttpStatusCode.RequestTimeout ||
HttpStatusCode.RequestTimeout or // Treat all server-side errors as retryable.
HttpStatusCode.InternalServerError; // https://github.com/Tyrrrz/DiscordChatExporter/issues/908
(int)statusCode >= 500;
private static bool IsRetryableException(Exception exception) => private static bool IsRetryableException(Exception exception) =>
exception.GetSelfAndChildren().Any(ex => exception.GetSelfAndChildren().Any(ex =>