public ProxyConfigLoader( ILogger <ProxyConfigLoader> logger, IClustersRepo clustersRepo, IRoutesRepo routesRepo, IReverseProxyConfigManager proxyManager, IOptionsMonitor <ProxyConfigOptions> proxyConfig) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _clustersRepo = clustersRepo ?? throw new ArgumentNullException(nameof(clustersRepo)); _routesRepo = routesRepo ?? throw new ArgumentNullException(nameof(routesRepo)); _proxyManager = proxyManager ?? throw new ArgumentNullException(nameof(proxyManager)); _proxyConfig = proxyConfig ?? throw new ArgumentNullException(nameof(proxyConfig)); }
public DynamicConfigBuilder( IEnumerable <IProxyConfigFilter> filters, IClustersRepo clustersRepo, IRoutesRepo routesRepo, IRouteValidator parsedRouteValidator, IEnumerable <ISessionAffinityProvider> sessionAffinityProviders, IEnumerable <IAffinityFailurePolicy> affinityFailurePolicies) { _filters = filters ?? throw new ArgumentNullException(nameof(filters)); _clustersRepo = clustersRepo ?? throw new ArgumentNullException(nameof(clustersRepo)); _routesRepo = routesRepo ?? throw new ArgumentNullException(nameof(routesRepo)); _parsedRouteValidator = parsedRouteValidator ?? throw new ArgumentNullException(nameof(parsedRouteValidator)); _sessionAffinityProviders = sessionAffinityProviders?.ToProviderDictionary() ?? throw new ArgumentNullException(nameof(sessionAffinityProviders)); _affinityFailurePolicies = affinityFailurePolicies?.ToPolicyDictionary() ?? throw new ArgumentNullException(nameof(affinityFailurePolicies)); }
private IDynamicConfigBuilder CreateConfigBuilder(IClustersRepo clusters, IRoutesRepo routes, Action <IReverseProxyBuilder> configProxy = null) { var servicesBuilder = new ServiceCollection(); servicesBuilder.AddOptions(); var proxyBuilder = servicesBuilder.AddReverseProxy(); configProxy?.Invoke(proxyBuilder); servicesBuilder.AddSingleton(clusters); servicesBuilder.AddSingleton(routes); servicesBuilder.AddSingleton <TestService>(); servicesBuilder.AddDataProtection(); servicesBuilder.AddLogging(); servicesBuilder.AddRouting(); var services = servicesBuilder.BuildServiceProvider(); return(services.GetRequiredService <IDynamicConfigBuilder>()); }