From f602a842bebbc4660846f4ad06a0a2780d50ba3f Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 25 Nov 2024 11:03:15 +0100 Subject: [PATCH] revert: IHttpClientOptions entfernen --- .../Client/IHttpClientOptions.cs | 13 +++++++++++++ .../Client/IHttpClientService.cs | 2 +- DigitalData.Core.Client/HttpClientOptions.cs | 12 +++++++----- DigitalData.Core.Client/ServiceFactory.cs | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 DigitalData.Core.Abstractions/Client/IHttpClientOptions.cs diff --git a/DigitalData.Core.Abstractions/Client/IHttpClientOptions.cs b/DigitalData.Core.Abstractions/Client/IHttpClientOptions.cs new file mode 100644 index 0000000..5600249 --- /dev/null +++ b/DigitalData.Core.Abstractions/Client/IHttpClientOptions.cs @@ -0,0 +1,13 @@ +namespace DigitalData.Core.Abstractions.Client +{ + public interface IHttpClientOptions + { + string Uri { get; init; } + + string? Path { get; init; } + + IEnumerable>? Headers { get; init; } + + IEnumerable>? QueryParams { get; init; } + } +} \ No newline at end of file diff --git a/DigitalData.Core.Abstractions/Client/IHttpClientService.cs b/DigitalData.Core.Abstractions/Client/IHttpClientService.cs index e94aaed..fc186ee 100644 --- a/DigitalData.Core.Abstractions/Client/IHttpClientService.cs +++ b/DigitalData.Core.Abstractions/Client/IHttpClientService.cs @@ -1,6 +1,6 @@ namespace DigitalData.Core.Abstractions.Client { - public interface IHttpClientService : IBaseHttpClientService + public interface IHttpClientService : IBaseHttpClientService where TClientOptions : IHttpClientOptions { } } \ No newline at end of file diff --git a/DigitalData.Core.Client/HttpClientOptions.cs b/DigitalData.Core.Client/HttpClientOptions.cs index d3f07f7..da859e9 100644 --- a/DigitalData.Core.Client/HttpClientOptions.cs +++ b/DigitalData.Core.Client/HttpClientOptions.cs @@ -1,13 +1,15 @@ -namespace DigitalData.Core.Client +using DigitalData.Core.Abstractions.Client; + +namespace DigitalData.Core.Client { - public class HttpClientOptions + public class HttpClientOptions : IHttpClientOptions { public required string Uri { get; init; } - public string? Path { get; init; } = null; + public string? Path { get; init; } - public IEnumerable>? Headers { get; init; } = null; + public IEnumerable>? Headers { get; init; } - public IEnumerable>? QueryParams { get; init; } = null; + public IEnumerable>? QueryParams { get; init; } } } \ No newline at end of file diff --git a/DigitalData.Core.Client/ServiceFactory.cs b/DigitalData.Core.Client/ServiceFactory.cs index 3acefe5..7a114ec 100644 --- a/DigitalData.Core.Client/ServiceFactory.cs +++ b/DigitalData.Core.Client/ServiceFactory.cs @@ -19,7 +19,7 @@ namespace DigitalData.Core.Client public static T Provide() where T : notnull => _lazyProvider.Value.GetRequiredService(); - public static IHttpClientService ProvideHttpClientService() + public static IHttpClientService ProvideHttpClientService() where TOptions : IHttpClientOptions => _lazyProvider.Value.GetRequiredService>(); } } \ No newline at end of file