diff --git a/API/MangaDownloadClients/DownloadClient.cs b/API/MangaDownloadClients/DownloadClient.cs index 0906b14..dd12ecb 100644 --- a/API/MangaDownloadClients/DownloadClient.cs +++ b/API/MangaDownloadClients/DownloadClient.cs @@ -1,11 +1,12 @@ -using System.Net; +using System.Collections.Concurrent; +using System.Net; using log4net; namespace API.MangaDownloadClients; public abstract class DownloadClient { - private static readonly Dictionary LastExecutedRateLimit = new(); + private static readonly ConcurrentDictionary LastExecutedRateLimit = new(); protected ILog Log { get; init; } protected DownloadClient() diff --git a/API/MangaDownloadClients/FlareSolverrDownloadClient.cs b/API/MangaDownloadClients/FlareSolverrDownloadClient.cs index a29c9c8..f4861c8 100644 --- a/API/MangaDownloadClients/FlareSolverrDownloadClient.cs +++ b/API/MangaDownloadClients/FlareSolverrDownloadClient.cs @@ -10,8 +10,6 @@ namespace API.MangaDownloadClients; public class FlareSolverrDownloadClient : DownloadClient { - - internal override RequestResult MakeRequestInternal(string url, string? referrer = null, string? clickButton = null) { if (clickButton is not null) diff --git a/API/MangaDownloadClients/HttpDownloadClient.cs b/API/MangaDownloadClients/HttpDownloadClient.cs index 9b53847..9735883 100644 --- a/API/MangaDownloadClients/HttpDownloadClient.cs +++ b/API/MangaDownloadClients/HttpDownloadClient.cs @@ -5,6 +5,7 @@ namespace API.MangaDownloadClients; internal class HttpDownloadClient : DownloadClient { + private static readonly FlareSolverrDownloadClient FlareSolverrDownloadClient = new(); internal override RequestResult MakeRequestInternal(string url, string? referrer = null, string? clickButton = null) { if (clickButton is not null) @@ -36,7 +37,7 @@ internal class HttpDownloadClient : DownloadClient (s.Product?.Name ?? "").Contains("cloudflare", StringComparison.InvariantCultureIgnoreCase))) { Log.Debug("Retrying with FlareSolverr!"); - return new FlareSolverrDownloadClient().MakeRequestInternal(url, referrer, clickButton); + return FlareSolverrDownloadClient.MakeRequestInternal(url, referrer, clickButton); } else {