From 0b31352c3cdfb95fd6f5064476c4f2b24c3bcfa7 Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Sat, 23 Sep 2023 14:34:24 -0500 Subject: [PATCH] refactor: use Flurl's own IFlurlClientFactory --- .../CustomFormat/CustomFormatAutofacModule.cs | 1 - .../QualityProfile/QualityProfileAutofacModule.cs | 1 - .../QualitySize/QualitySizeAutofacModule.cs | 1 - src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs | 12 +++++++++--- src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs | 8 -------- .../Http/ServiceRequestBuilder.cs | 3 ++- 6 files changed, 11 insertions(+), 15 deletions(-) delete mode 100644 src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs diff --git a/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs index 2528af15..c34675d2 100644 --- a/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/CustomFormat/CustomFormatAutofacModule.cs @@ -3,7 +3,6 @@ using Autofac.Extras.AggregateService; using Recyclarr.Cli.Cache; using Recyclarr.Cli.Pipelines.CustomFormat.Models; using Recyclarr.Cli.Pipelines.CustomFormat.PipelinePhases; -using Recyclarr.ServarrApi.Services; namespace Recyclarr.Cli.Pipelines.CustomFormat; diff --git a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs index b87d54a4..2c6d5a74 100644 --- a/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/QualityProfile/QualityProfileAutofacModule.cs @@ -1,7 +1,6 @@ using Autofac; using Autofac.Extras.AggregateService; using Recyclarr.Cli.Pipelines.QualityProfile.PipelinePhases; -using Recyclarr.ServarrApi.Services; namespace Recyclarr.Cli.Pipelines.QualityProfile; diff --git a/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs b/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs index 5e134651..e9b16b0a 100644 --- a/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs +++ b/src/Recyclarr.Cli/Pipelines/QualitySize/QualitySizeAutofacModule.cs @@ -1,7 +1,6 @@ using Autofac; using Autofac.Extras.AggregateService; using Recyclarr.Cli.Pipelines.QualitySize.PipelinePhases; -using Recyclarr.ServarrApi.Services; namespace Recyclarr.Cli.Pipelines.QualitySize; diff --git a/src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs b/src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs index b5fbda86..72f643f0 100644 --- a/src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs +++ b/src/Recyclarr.ServarrApi/Http/FlurlClientFactory.cs @@ -1,3 +1,4 @@ +using Flurl; using Flurl.Http; using Flurl.Http.Configuration; using Recyclarr.Common.Networking; @@ -7,7 +8,7 @@ using Serilog; namespace Recyclarr.ServarrApi.Http; -public class FlurlClientFactory : IFlurlClientFactory +public sealed class FlurlClientFactory : IFlurlClientFactory { private readonly ILogger _log; private readonly ISettingsProvider _settingsProvider; @@ -20,9 +21,9 @@ public class FlurlClientFactory : IFlurlClientFactory _factory = new PerBaseUrlFlurlClientFactory(); } - public IFlurlClient BuildClient(Uri baseUrl) + public IFlurlClient Get(Url url) { - var client = _factory.Get(baseUrl); + var client = _factory.Get(url); client.Settings = GetClientSettings(); return client; } @@ -47,4 +48,9 @@ public class FlurlClientFactory : IFlurlClientFactory return settings; } + + public void Dispose() + { + _factory.Dispose(); + } } diff --git a/src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs b/src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs deleted file mode 100644 index a384dc13..00000000 --- a/src/Recyclarr.ServarrApi/Http/IFlurlClientFactory.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Flurl.Http; - -namespace Recyclarr.ServarrApi.Http; - -public interface IFlurlClientFactory -{ - IFlurlClient BuildClient(Uri baseUrl); -} diff --git a/src/Recyclarr.ServarrApi/Http/ServiceRequestBuilder.cs b/src/Recyclarr.ServarrApi/Http/ServiceRequestBuilder.cs index 8840804b..a7f9223a 100644 --- a/src/Recyclarr.ServarrApi/Http/ServiceRequestBuilder.cs +++ b/src/Recyclarr.ServarrApi/Http/ServiceRequestBuilder.cs @@ -1,4 +1,5 @@ using Flurl.Http; +using Flurl.Http.Configuration; using Recyclarr.Config.Models; namespace Recyclarr.ServarrApi.Http; @@ -14,7 +15,7 @@ public class ServiceRequestBuilder : IServiceRequestBuilder public IFlurlRequest Request(IServiceConfiguration config, params object[] path) { - var client = _clientFactory.BuildClient(config.BaseUrl); + var client = _clientFactory.Get(config.BaseUrl); return client.Request(new[] {"api", "v3"}.Concat(path).ToArray()) .WithHeader("X-Api-Key", config.ApiKey); }