public static IHttpClientFactoryBuilder AddHttpClient(this IHttpClientFactoryDependency dependency, string name, Action <HttpClient> configureClientAction ) { if (dependency == null) { throw new ArgumentNullException(nameof(dependency)); } if (name == null) { throw new ArgumentNullException(nameof(name)); } if (configureClientAction == null) { throw new ArgumentNullException(nameof(configureClientAction)); } dependency.AddHttpClient(); var builder = new DefaultHttpClientFactoryBuilder(name, dependency); builder.ConfigureHttpClient(configureClientAction); return(builder); }
public static IHttpClientFactoryDependency AddHttpClient(this IHttpClientFactoryDependency dependency) { if (dependency == null) { throw new ArgumentNullException(nameof(dependency)); } dependency.IocContainer.Register( Component.For <IHttpMessageHandlerBuilder, DefaultHttpMessageHandlerBuilder>().LifestyleTransient(), Component.For <IHttpClientFactory, DefaultHttpClientFactory>().LifestyleSingleton() ); if (!dependency.IsRegistered <IHttpMessageHandlerBuilderFilter>()) { dependency.IocContainer.Register( Component.For <IHttpMessageHandlerBuilderFilter, LoggingHttpMessageHandlerBuilderFilter>().LifestyleSingleton() ); } return(dependency); }
public static IHttpClientFactoryBuilder AddHttpClient(this IHttpClientFactoryDependency dependency, string name) { if (dependency == null) { throw new ArgumentNullException(nameof(dependency)); } if (name == null) { throw new ArgumentNullException(nameof(name)); } dependency.AddHttpClient(); return(new DefaultHttpClientFactoryBuilder(name, dependency)); }
public DefaultHttpClientFactoryBuilder(string name, IHttpClientFactoryDependency services) { Name = name; Services = services; }
internal static bool IsRegistered(this IHttpClientFactoryDependency dependency, string componentName) { return(dependency.IocContainer.Kernel.HasComponent(componentName)); }
internal static bool IsRegistered <TType>(this IHttpClientFactoryDependency dependency) { return(dependency.IocContainer.Kernel.HasComponent(typeof(TType))); }