using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using System; using System.Net; using System.Net.Http; namespace DigitalData.Core.Legacy.Client { public static class DIExtensions { public static IServiceCollection AddHttpClientService(this IServiceCollection services, string uri) { services.TryAddSingleton(); services.TryAddSingleton(); services.AddSingleton(); services.Configure(opt => opt.Uri = uri); return services; } public static IServiceCollection AddHttpClientService(this IServiceCollection services, Action clientOptions = null, bool setAsDefaultBase = false) where TClientOptions : HttpClientOptions { services.TryAddSingleton(); services.TryAddSingleton(); services.AddSingleton>(); if(clientOptions != null) services.Configure(clientOptions); if (setAsDefaultBase) services.AddSingleton>(); return services; } } }