diff --git a/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs b/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs index fdfd333..1a3a801 100644 --- a/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs +++ b/Net.Maui.Extensions/Extensions/ContentPageExtensions.cs @@ -3,7 +3,7 @@ using System.ComponentModel; using System.Core.Extensions; using System.Extensions; -namespace Net.Maui.Extensions.Extensions; +namespace Net.Maui.Extensions; public static class ContentPageExtensions { diff --git a/Net.Maui.Extensions/MauiAppBuilderExtensions.cs b/Net.Maui.Extensions/Extensions/MauiAppBuilderExtensions.cs similarity index 100% rename from Net.Maui.Extensions/MauiAppBuilderExtensions.cs rename to Net.Maui.Extensions/Extensions/MauiAppBuilderExtensions.cs diff --git a/Net.Maui.Extensions/Extensions/ServiceCollectionExtensions.cs b/Net.Maui.Extensions/Extensions/ServiceCollectionExtensions.cs new file mode 100644 index 0000000..75eb79b --- /dev/null +++ b/Net.Maui.Extensions/Extensions/ServiceCollectionExtensions.cs @@ -0,0 +1,18 @@ +using System.Core.Extensions; + +namespace Net.Maui.Extensions.Extensions; + +public static class ServiceCollectionExtensions +{ + public static IHttpClientBuilder RegisterHttpClient(this IServiceCollection services) + where TService : class + { + return services.ThrowIfNull() + .AddScoped, HttpClient>(sp => + { + var factory = sp.GetRequiredService(); + return new HttpClient(factory.CreateClient(typeof(TService).Name), false); + }) + .AddHttpClient(typeof(TService).Name); + } +} diff --git a/Net.Maui.Extensions/Net.Maui.Extensions.csproj b/Net.Maui.Extensions/Net.Maui.Extensions.csproj index bd50824..4ceaff5 100644 --- a/Net.Maui.Extensions/Net.Maui.Extensions.csproj +++ b/Net.Maui.Extensions/Net.Maui.Extensions.csproj @@ -20,7 +20,7 @@ enable enable true - 0.2.13 + 0.3.0 Alexandru Macocian LICENSE true @@ -46,6 +46,8 @@ + +