public DynamicConfigBuilder(
            IBackendsRepo backendsRepo,
            IRoutesRepo routesRepo,
            IRouteValidator parsedRouteValidator)
        {
            Contracts.CheckValue(backendsRepo, nameof(backendsRepo));
            Contracts.CheckValue(routesRepo, nameof(routesRepo));
            Contracts.CheckValue(parsedRouteValidator, nameof(parsedRouteValidator));

            _backendsRepo         = backendsRepo;
            _routesRepo           = routesRepo;
            _parsedRouteValidator = parsedRouteValidator;
        }
Пример #2
0
 public DynamicConfigBuilder(
     IEnumerable <IProxyConfigFilter> filters,
     IBackendsRepo backendsRepo,
     IRoutesRepo routesRepo,
     IRouteValidator parsedRouteValidator)
 {
     Contracts.CheckValue(filters, nameof(filters));
     Contracts.CheckValue(backendsRepo, nameof(backendsRepo));
     Contracts.CheckValue(routesRepo, nameof(routesRepo));
     Contracts.CheckValue(parsedRouteValidator, nameof(parsedRouteValidator));
     _filters              = filters;
     _backendsRepo         = backendsRepo;
     _routesRepo           = routesRepo;
     _parsedRouteValidator = parsedRouteValidator;
 }
Пример #3
0
        private IDynamicConfigBuilder CreateConfigBuilder(IBackendsRepo backends, IRoutesRepo routes, Action <IReverseProxyBuilder> configProxy = null)
        {
            var servicesBuilder = new ServiceCollection();

            servicesBuilder.AddOptions();
            var proxyBuilder = servicesBuilder.AddReverseProxy();

            configProxy?.Invoke(proxyBuilder);
            servicesBuilder.AddSingleton(backends);
            servicesBuilder.AddSingleton(routes);
            servicesBuilder.AddSingleton <TestService>();
            var services = servicesBuilder.BuildServiceProvider();

            return(services.GetRequiredService <IDynamicConfigBuilder>());
        }
Пример #4
0
        public ProxyConfigLoader(
            ILogger <ProxyConfigLoader> logger,
            IBackendsRepo backendsRepo,
            IRoutesRepo routesRepo,
            IReverseProxyConfigManager proxyManager,
            IOptionsMonitor <ProxyConfigOptions> proxyConfig)
        {
            Contracts.CheckValue(logger, nameof(logger));
            Contracts.CheckValue(backendsRepo, nameof(backendsRepo));
            Contracts.CheckValue(routesRepo, nameof(routesRepo));
            Contracts.CheckValue(proxyManager, nameof(proxyManager));
            Contracts.CheckValue(proxyConfig, nameof(proxyConfig));

            _logger       = logger;
            _backendsRepo = backendsRepo;
            _routesRepo   = routesRepo;
            _proxyManager = proxyManager;
            _proxyConfig  = proxyConfig;
        }
Пример #5
0
 public DynamicConfigBuilder(
     IEnumerable <IProxyConfigFilter> filters,
     IBackendsRepo backendsRepo,
     IRoutesRepo routesRepo,
     IRouteValidator parsedRouteValidator,
     IEnumerable <ISessionAffinityProvider> sessionAffinityProviders,
     IEnumerable <IAffinityFailurePolicy> affinityFailurePolicies)
 {
     Contracts.CheckValue(filters, nameof(filters));
     Contracts.CheckValue(backendsRepo, nameof(backendsRepo));
     Contracts.CheckValue(routesRepo, nameof(routesRepo));
     Contracts.CheckValue(parsedRouteValidator, nameof(parsedRouteValidator));
     Contracts.CheckValue(sessionAffinityProviders, nameof(sessionAffinityProviders));
     Contracts.CheckValue(affinityFailurePolicies, nameof(affinityFailurePolicies));
     _filters                  = filters;
     _backendsRepo             = backendsRepo;
     _routesRepo               = routesRepo;
     _parsedRouteValidator     = parsedRouteValidator;
     _sessionAffinityProviders = sessionAffinityProviders.ToProviderDictionary();
     _affinityFailurePolicies  = affinityFailurePolicies.ToPolicyDictionary();
 }