diff --git a/src/FilterLists.Agent/Core/Interfaces/Clients/IAgentHttpClient.cs b/src/FilterLists.Agent/Core/Interfaces/Clients/IAgentHttpClientFactory.cs similarity index 74% rename from src/FilterLists.Agent/Core/Interfaces/Clients/IAgentHttpClient.cs rename to src/FilterLists.Agent/Core/Interfaces/Clients/IAgentHttpClientFactory.cs index ef79565e2..fbef68ec1 100644 --- a/src/FilterLists.Agent/Core/Interfaces/Clients/IAgentHttpClient.cs +++ b/src/FilterLists.Agent/Core/Interfaces/Clients/IAgentHttpClientFactory.cs @@ -2,7 +2,7 @@ namespace FilterLists.Agent.Core.Interfaces.Clients { - public interface IAgentHttpClient + public interface IAgentHttpClientFactory { HttpClient HttpClient { get; } } diff --git a/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs b/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs index 5f72129bd..1de34a6dc 100644 --- a/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs +++ b/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs @@ -74,13 +74,15 @@ private static void AddLoggingCustom(this IServiceCollection services) private static void AddAgentHttpClient(this IServiceCollection services) { - services.AddHttpClient().ConfigureHttpMessageHandlerBuilder(b => - { - b.PrimaryHandler = new HttpClientHandler {AllowAutoRedirect = false}; - b.Build(); - }).AddTransientHttpErrorPolicy(b => - b.OrResult(r => r.StatusCode == HttpStatusCode.TooManyRequests) - .WaitAndRetryAsync(5, i => i * TimeSpan.FromSeconds(3))); + services.AddHttpClient() + .ConfigureHttpMessageHandlerBuilder(b => + { + b.PrimaryHandler = new HttpClientHandler {AllowAutoRedirect = false}; + b.Build(); + }) + .AddTransientHttpErrorPolicy(b => + b.OrResult(r => r.StatusCode == HttpStatusCode.TooManyRequests) + .WaitAndRetryAsync(5, i => i * TimeSpan.FromSeconds(3))); } private static void AddGitHubClient(this IServiceCollection services) diff --git a/src/FilterLists.Agent/Features/Lists/DownloadRawText.cs b/src/FilterLists.Agent/Features/Lists/DownloadRawText.cs index 0f309ffe3..638bf8de4 100644 --- a/src/FilterLists.Agent/Features/Lists/DownloadRawText.cs +++ b/src/FilterLists.Agent/Features/Lists/DownloadRawText.cs @@ -30,9 +30,9 @@ public class Handler : AsyncRequestHandler private readonly HttpClient _httpClient; private readonly ILogger _logger; - public Handler(IAgentHttpClient agentHttpClient, ILogger logger) + public Handler(IAgentHttpClientFactory agentHttpClientFactory, ILogger logger) { - _httpClient = agentHttpClient.HttpClient; + _httpClient = agentHttpClientFactory.HttpClient; _logger = logger; } diff --git a/src/FilterLists.Agent/Features/Lists/DownloadSevenZip.cs b/src/FilterLists.Agent/Features/Lists/DownloadSevenZip.cs index c0dec3f6d..6139fa8bb 100644 --- a/src/FilterLists.Agent/Features/Lists/DownloadSevenZip.cs +++ b/src/FilterLists.Agent/Features/Lists/DownloadSevenZip.cs @@ -30,9 +30,9 @@ public class Handler : AsyncRequestHandler private readonly HttpClient _httpClient; private readonly ILogger _logger; - public Handler(IAgentHttpClient agentHttpClient, ILogger logger) + public Handler(IAgentHttpClientFactory agentHttpClientFactory, ILogger logger) { - _httpClient = agentHttpClient.HttpClient; + _httpClient = agentHttpClientFactory.HttpClient; _logger = logger; } diff --git a/src/FilterLists.Agent/Features/Lists/DownloadZip.cs b/src/FilterLists.Agent/Features/Lists/DownloadZip.cs index d8c13b883..be7828518 100644 --- a/src/FilterLists.Agent/Features/Lists/DownloadZip.cs +++ b/src/FilterLists.Agent/Features/Lists/DownloadZip.cs @@ -29,9 +29,9 @@ public class Handler : AsyncRequestHandler private readonly HttpClient _httpClient; private readonly ILogger _logger; - public Handler(IAgentHttpClient agentHttpClient, ILogger logger) + public Handler(IAgentHttpClientFactory agentHttpClientFactory, ILogger logger) { - _httpClient = agentHttpClient.HttpClient; + _httpClient = agentHttpClientFactory.HttpClient; _logger = logger; } diff --git a/src/FilterLists.Agent/Features/Urls/ValidateUrls.cs b/src/FilterLists.Agent/Features/Urls/ValidateUrls.cs index 9a3d9c00f..de1181ca1 100644 --- a/src/FilterLists.Agent/Features/Urls/ValidateUrls.cs +++ b/src/FilterLists.Agent/Features/Urls/ValidateUrls.cs @@ -31,9 +31,9 @@ public class Handler : IRequestHandler> private readonly HttpClient _httpClient; private readonly ILogger _logger; - public Handler(IAgentHttpClient agentHttpClient, ILogger logger) + public Handler(IAgentHttpClientFactory agentHttpClientFactory, ILogger logger) { - _httpClient = agentHttpClient.HttpClient; + _httpClient = agentHttpClientFactory.HttpClient; _logger = logger; } diff --git a/src/FilterLists.Agent/Infrastructure/Clients/AgentHttpClient.cs b/src/FilterLists.Agent/Infrastructure/Clients/AgentHttpClientFactory.cs similarity index 82% rename from src/FilterLists.Agent/Infrastructure/Clients/AgentHttpClient.cs rename to src/FilterLists.Agent/Infrastructure/Clients/AgentHttpClientFactory.cs index fb38aa8dd..275c8f356 100644 --- a/src/FilterLists.Agent/Infrastructure/Clients/AgentHttpClient.cs +++ b/src/FilterLists.Agent/Infrastructure/Clients/AgentHttpClientFactory.cs @@ -7,9 +7,9 @@ namespace FilterLists.Agent.Infrastructure.Clients { [UsedImplicitly] - public class AgentHttpClient : IAgentHttpClient + public class AgentHttpClientFactory : IAgentHttpClientFactory { - public AgentHttpClient(HttpClient client) + public AgentHttpClientFactory(HttpClient client) { client.Timeout = TimeSpan.FromSeconds(90);