public static IAutofacFeignBuilder AddFeignClients(this ContainerBuilder containerBuilder, Action <IFeignOptions> setupAction) { FeignOptions options = new FeignOptions(); setupAction?.Invoke(options); return(AddFeignClients(containerBuilder, options)); }
public static IDependencyInjectionFeignBuilder AddFeignClients(this IServiceCollection services, Action <IFeignOptions> setupAction) { FeignOptions options = new FeignOptions(); setupAction?.Invoke(options); return(AddFeignClients(services, options)); }
public static ICastleWindsorFeignBuilder AddFeignClients(this IWindsorContainer windsorContainer, Action <IFeignOptions> setupAction) { FeignOptions options = new FeignOptions(); setupAction?.Invoke(options); return(AddFeignClients(windsorContainer, options)); }
public static IStandaloneFeignBuilder AddFeignClients(FeignOptions options) { if (options == null) { options = new FeignOptions(); } if (options.Lifetime == FeignClientLifetime.Scoped) { throw new NotSupportedException(nameof(options.Lifetime) + " can not be FeignClientLifetime.Scoped!"); } StandaloneFeignBuilder feignBuilder = _standaloneFeignBuilder; feignBuilder.Options = options; if (options.Assemblies.Count == 0) { feignBuilder.AddFeignClients(Assembly.GetEntryAssembly(), options.Lifetime); } else { foreach (var assembly in options.Assemblies) { feignBuilder.AddFeignClients(assembly, options.Lifetime); } } feignBuilder.AddService(typeof(ILoggerFactory), typeof(DefaultLoggerFactory), FeignClientLifetime.Singleton); feignBuilder.AddService(typeof(ICacheProvider), typeof(DefaultCacheProvider), FeignClientLifetime.Singleton); feignBuilder.AddService <IFeignOptions>(options); return(feignBuilder); }
public static IStandaloneFeignBuilder AddFeignClients(Action <FeignOptions> setupAction) { FeignOptions options = new FeignOptions(); setupAction?.Invoke(options); return(AddFeignClients(options)); }
public static IFeignBuilder AddFeignClients(this IServiceCollection services, FeignOptions options) { if (options == null) { options = new FeignOptions(); } FeignBuilder feignBuilder = new FeignBuilder(); feignBuilder.Services = services; feignBuilder.Options = options; if (options.Assemblies.Count == 0) { AddFeignClients(feignBuilder.FeignClientTypeBuilder, services, Assembly.GetEntryAssembly(), options.Lifetime); } else { foreach (var assembly in options.Assemblies) { AddFeignClients(feignBuilder.FeignClientTypeBuilder, services, assembly, options.Lifetime); } } services.TryAddSingleton(options); feignBuilder.FeignClientTypeBuilder.FinishBuild(); return(feignBuilder); }
public static IAutofacFeignBuilder AddFeignClients(this ContainerBuilder containerBuilder, IFeignOptions options) { if (options == null) { options = new FeignOptions(); } AutofacFeignBuilder feignBuilder = new AutofacFeignBuilder(); feignBuilder.ContainerBuilder = containerBuilder; feignBuilder.AddFeignClients(options); return(feignBuilder); }
public static ICastleWindsorFeignBuilder AddFeignClients(this IWindsorContainer windsorContainer, IFeignOptions options) { if (options == null) { options = new FeignOptions(); } CastleWindsorFeignBuilder feignBuilder = new CastleWindsorFeignBuilder(); feignBuilder.WindsorContainer = windsorContainer; feignBuilder.Options = options; feignBuilder.AddDefaultFeignClients(); return(feignBuilder); }
public static IDependencyInjectionFeignBuilder AddFeignClients(this IServiceCollection services, IFeignOptions options) { if (options == null) { options = new FeignOptions(); } DependencyInjectionFeignBuilder feignBuilder = new DependencyInjectionFeignBuilder(); feignBuilder.Services = services; feignBuilder.Options = options; feignBuilder.AddDefaultFeignClients() .AddLoggerFactory <LoggerFactory>() .AddCacheProvider <CacheProvider>() ; return(feignBuilder); }
public FeignClientProxyService(FeignOptions feignOptions, IServiceDiscovery serviceDiscovery, IDistributedCache distributedCache, ILoggerFactory loggerFactory) { //_logger = loggerFactory?.CreateLogger(this.GetType()); _feignOptions = feignOptions; _logger = loggerFactory?.CreateLogger(typeof(FeignClientProxyService)); _globalFeignClientPipeline = _feignOptions?.FeignClientPipeline as GlobalFeignClientPipelineBuilder;; ServiceDiscoveryHttpClientHandler serviceDiscoveryHttpClientHandler = new ServiceDiscoveryHttpClientHandler(serviceDiscovery, this, _globalFeignClientPipeline, distributedCache, _logger); serviceDiscoveryHttpClientHandler.ShouldResolveService = string.IsNullOrWhiteSpace(Url); serviceDiscoveryHttpClientHandler.AllowAutoRedirect = false; _httpClient = new HttpClient(serviceDiscoveryHttpClientHandler); string baseUrl = serviceDiscoveryHttpClientHandler.ShouldResolveService ? ServiceId ?? "" : Url; if (!baseUrl.StartsWith("http")) { baseUrl = $"http://{baseUrl}"; } if (!string.IsNullOrWhiteSpace(BaseUri)) { if (baseUrl.EndsWith("/")) { baseUrl = baseUrl.TrimEnd('/'); } if (BaseUri.StartsWith("/")) { baseUrl += BaseUri; } else { baseUrl += "/" + BaseUri; } } if (baseUrl.EndsWith("/")) { baseUrl = baseUrl.TrimEnd('/'); } _baseUrl = baseUrl; }
public TestFeignClientProxyService(FeignOptions feignOptions, IServiceDiscovery serviceDiscovery, IDistributedCache distributedCache, ILoggerFactory loggerFactory) : base(feignOptions, serviceDiscovery, distributedCache, loggerFactory) { }