internal static void AddCondenserRouter(this IServiceCollection self, string agentAddress, int agentPort, IHealthConfig health, IRoutingConfig routingConfig, IHttpClientConfig httpClientConfig) { var config = new CondenserConfiguration { AgentPort = agentPort, AgentAddress = agentAddress }; self.AddRouting(); self.AddSingleton(health); self.AddSingleton(routingConfig); self.AddSingleton(httpClientConfig); self.AddSingleton <RoutingData>(); self.AddSingleton(config); self.AddSingleton <IService, HealthRouter>(); self.AddSingleton <IService, RouteSummary>(); self.AddSingleton <IService, TreeRouter>(); self.AddSingleton <IService, ChangeRoutingStrategy>(); self.AddSingleton <IService, ServerStatsRoute>(); self.AddTransient <IRoutingStrategy <IService>, RandomRoutingStrategy <IService> >(); self.AddTransient <IRoutingStrategy <IService>, RoundRobinRoutingStrategy <IService> >(); self.AddSingleton <IDefaultRouting <IService>, DefaultRouting <IService> >(); self.AddTransient <ChildContainer <IService> >(); self.AddSingleton <CurrentState>(); self.AddSingleton <CustomRouter>(); self.AddSingleton <RoutingHost>(); self.AddSingleton <RadixTree <IService> >(); self.AddTransient <Service>(); self.AddSingleton <Func <IConsulService> >(x => x.GetService <Service>); self.AddSingleton <Func <ChildContainer <IService> > >(x => x.GetService <ChildContainer <IService> >); }
public Service(CurrentState stats, IHttpClientConfig clientFactory) { _stats = stats; _clientFactory = clientFactory; }
public static IServiceCollection AddCondenser(this IServiceCollection self, string agentAddress, int agentPort, IHealthConfig health, IRoutingConfig routingConfig, IHttpClientConfig httpClientConfig, IEnumerable <IRoutingStrategy <IService> > strategies) { var config = new CondenserConfiguration { AgentPort = agentPort, AgentAddress = agentAddress }; self.AddSingleton(config); self.AddSingleton(health); self.AddSingleton(routingConfig); self.AddSingleton <Func <string, HttpClient> >(httpClientConfig.Create); self.AddSingleton <RoutingData>(); self.AddSingleton <IService, HealthStatsRouter>(); self.AddSingleton <IService, HealthRouter>(); self.AddSingleton <IRouteStore, RouteStore>(); self.AddSingleton <IRouteSource, ConsulRouteSource>(); self.AddSingleton <IService, RouteSummary>(); self.AddSingleton <IService, TreeRouter>(); self.AddSingleton <IService, ChangeRoutingStrategy>(); self.AddSingleton <IService, ServerStatsRoute>(); self.AddTransient <IRoutingStrategy <IService>, RandomRoutingStrategy <IService> >(); self.AddTransient <IRoutingStrategy <IService>, RoundRobinRoutingStrategy <IService> >(); self.AddSingleton <IDefaultRouting <IService>, DefaultRouting <IService> >(); foreach (var service in strategies) { self.AddSingleton(service); } self.AddTransient <ChildContainer <IService> >(); self.AddTransient <CurrentState>(); self.AddSingleton <CustomRouter>(); self.AddSingleton <RoutingHost>(); self.AddSingleton <RadixTree <IService> >(); self.AddTransient <Service>(); self.AddSingleton <Func <IConsulService> >(x => x.GetService <Service>); self.AddSingleton <Func <ICurrentState> >(x => x.GetService <CurrentState>); self.AddSingleton <Func <ChildContainer <IService> > >(x => x.GetService <ChildContainer <IService> >); return(self); }
public HttpClient(IHttpClientConfig config, ILogger logger) { this.currentLogger = logger ?? new NullLogger(typeof(HttpClient)); this.currentConfig = config ?? new NullHttpClientConfig(); this.Logger.Debug("Constructor Complete"); }
public HttpClient(IHttpClientConfig config) : this(config, null) { }