diff --git a/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs index 622fe2d2..971a8e34 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/HttpExtensions.cs @@ -1,8 +1,4 @@ -using System.Globalization; -using System.Net; -using System.Net.Http; -using System.Net.Http.Headers; -using System.Text.RegularExpressions; +using System.Net.Http.Headers; namespace DiscordChatExporter.Core.Utils.Extensions; @@ -12,13 +8,4 @@ public static class HttpExtensions headers.TryGetValues(name, out var values) ? string.Concat(values) : null; - - public static HttpStatusCode? TryGetStatusCode(this HttpRequestException ex) => - // This is extremely frail, but there's no other way - Regex - .Match(ex.Message, @": (\d+) \(") - .Groups[1] - .Value - .NullIfWhiteSpace()? - .Pipe(s => (HttpStatusCode) int.Parse(s, CultureInfo.InvariantCulture)); } \ No newline at end of file diff --git a/DiscordChatExporter.Core/Utils/Http.cs b/DiscordChatExporter.Core/Utils/Http.cs index a8143096..ecc3900b 100644 --- a/DiscordChatExporter.Core/Utils/Http.cs +++ b/DiscordChatExporter.Core/Utils/Http.cs @@ -23,7 +23,7 @@ public static class Http private static bool IsRetryableException(Exception exception) => exception.GetSelfAndChildren().Any(ex => ex is TimeoutException or SocketException or AuthenticationException || - ex is HttpRequestException hrex && IsRetryableStatusCode(hrex.TryGetStatusCode() ?? HttpStatusCode.OK) + ex is HttpRequestException hrex && IsRetryableStatusCode(hrex.StatusCode ?? HttpStatusCode.OK) ); public static IAsyncPolicy ResiliencePolicy { get; } =