public FileOcelotConfigurationCreator(
     IOptions <FileConfiguration> options,
     IConfigurationValidator configurationValidator,
     ILogger <FileOcelotConfigurationCreator> logger,
     ILoadBalancerFactory loadBalancerFactory,
     ILoadBalancerHouse loadBalancerHouse,
     IQoSProviderFactory qoSProviderFactory,
     IQosProviderHouse qosProviderHouse,
     IClaimsToThingCreator claimsToThingCreator,
     IAuthenticationOptionsCreator authOptionsCreator,
     IUpstreamTemplatePatternCreator upstreamTemplatePatternCreator,
     IRequestIdKeyCreator requestIdKeyCreator,
     IServiceProviderConfigurationCreator serviceProviderConfigCreator,
     IQoSOptionsCreator qosOptionsCreator,
     IReRouteOptionsCreator fileReRouteOptionsCreator,
     IRateLimitOptionsCreator rateLimitOptionsCreator
     )
 {
     _rateLimitOptionsCreator        = rateLimitOptionsCreator;
     _requestIdKeyCreator            = requestIdKeyCreator;
     _upstreamTemplatePatternCreator = upstreamTemplatePatternCreator;
     _authOptionsCreator             = authOptionsCreator;
     _loadBalanceFactory             = loadBalancerFactory;
     _loadBalancerHouse      = loadBalancerHouse;
     _qoSProviderFactory     = qoSProviderFactory;
     _qosProviderHouse       = qosProviderHouse;
     _options                = options;
     _configurationValidator = configurationValidator;
     _logger = logger;
     _claimsToThingCreator         = claimsToThingCreator;
     _serviceProviderConfigCreator = serviceProviderConfigCreator;
     _qosOptionsCreator            = qosOptionsCreator;
     _fileReRouteOptionsCreator    = fileReRouteOptionsCreator;
 }
 public FileOcelotConfigurationCreator(
     IOptions <FileConfiguration> options,
     IConfigurationValidator configurationValidator,
     IOcelotLoggerFactory loggerFactory,
     IClaimsToThingCreator claimsToThingCreator,
     IAuthenticationOptionsCreator authOptionsCreator,
     IUpstreamTemplatePatternCreator upstreamTemplatePatternCreator,
     IRequestIdKeyCreator requestIdKeyCreator,
     IServiceProviderConfigurationCreator serviceProviderConfigCreator,
     IQoSOptionsCreator qosOptionsCreator,
     IReRouteOptionsCreator fileReRouteOptionsCreator,
     IRateLimitOptionsCreator rateLimitOptionsCreator,
     IRegionCreator regionCreator,
     IHttpHandlerOptionsCreator httpHandlerOptionsCreator,
     IAdministrationPath adminPath
     )
 {
     _adminPath                      = adminPath;
     _regionCreator                  = regionCreator;
     _rateLimitOptionsCreator        = rateLimitOptionsCreator;
     _requestIdKeyCreator            = requestIdKeyCreator;
     _upstreamTemplatePatternCreator = upstreamTemplatePatternCreator;
     _authOptionsCreator             = authOptionsCreator;
     _options = options;
     _configurationValidator = configurationValidator;
     _logger = loggerFactory.CreateLogger <FileOcelotConfigurationCreator>();
     _claimsToThingCreator         = claimsToThingCreator;
     _serviceProviderConfigCreator = serviceProviderConfigCreator;
     _qosOptionsCreator            = qosOptionsCreator;
     _fileReRouteOptionsCreator    = fileReRouteOptionsCreator;
     _httpHandlerOptionsCreator    = httpHandlerOptionsCreator;
 }
Beispiel #3
0
        public async Task <Result> InvokeAsync(CancellationToken cancellation)
        {
            using (IServiceScope scope = _scopeBuilder.Build())
            {
                IConfigurationValidator configurationValidator = GetService <IConfigurationValidator>(scope);
                Result validateConfigurationResult             = await configurationValidator.ValidateAsync(cancellation);

                if (validateConfigurationResult.IsFailed)
                {
                    return(validateConfigurationResult);
                }

                IExternalAddressClient            externalAddressClient = GetService <IExternalAddressClient>(scope);
                Result <IExternalAddressResponse> externalAddressResult = await externalAddressClient.GetAsync(cancellation);

                if (externalAddressResult.IsFailed)
                {
                    return(validateConfigurationResult.Merge(externalAddressResult));
                }

                IEnumerable <IDDNSService> dnsServices = GetService <IEnumerable <IDDNSService> >(scope);
                Result processResult = await ProcessAsync(dnsServices, externalAddressResult.Value, cancellation);

                return(validateConfigurationResult.Merge(externalAddressResult, processResult));
            }
        }
 public FileInternalConfigurationCreator(
     IConfigurationValidator configurationValidator,
     IOcelotLoggerFactory loggerFactory,
     IClaimsToThingCreator claimsToThingCreator,
     IAuthenticationOptionsCreator authOptionsCreator,
     IUpstreamTemplatePatternCreator upstreamTemplatePatternCreator,
     IRequestIdKeyCreator requestIdKeyCreator,
     IServiceProviderConfigurationCreator serviceProviderConfigCreator,
     IQoSOptionsCreator qosOptionsCreator,
     IReRouteOptionsCreator fileReRouteOptionsCreator,
     IRateLimitOptionsCreator rateLimitOptionsCreator,
     IRegionCreator regionCreator,
     IHttpHandlerOptionsCreator httpHandlerOptionsCreator,
     IAdministrationPath adminPath,
     IHeaderFindAndReplaceCreator headerFAndRCreator,
     IDownstreamAddressesCreator downstreamAddressesCreator
     )
 {
     _downstreamAddressesCreator = downstreamAddressesCreator;
     _headerFAndRCreator         = headerFAndRCreator;
     _adminPath                      = adminPath;
     _regionCreator                  = regionCreator;
     _rateLimitOptionsCreator        = rateLimitOptionsCreator;
     _requestIdKeyCreator            = requestIdKeyCreator;
     _upstreamTemplatePatternCreator = upstreamTemplatePatternCreator;
     _authOptionsCreator             = authOptionsCreator;
     _configurationValidator         = configurationValidator;
     _logger = loggerFactory.CreateLogger <FileInternalConfigurationCreator>();
     _claimsToThingCreator         = claimsToThingCreator;
     _serviceProviderConfigCreator = serviceProviderConfigCreator;
     _qosOptionsCreator            = qosOptionsCreator;
     _fileReRouteOptionsCreator    = fileReRouteOptionsCreator;
     _httpHandlerOptionsCreator    = httpHandlerOptionsCreator;
 }
Beispiel #5
0
 public UpdateConfigurationSetFromJsonUploadCommandHandler(IConfigurationModelRegistry registry, IConfigurationSetUploadMapper configurationSetUploadMapper, IConfigRepository configRepository, IConfigurationValidator configurationValidator, IEventService eventService)
 {
     this.registry = registry;
     this.configurationSetUploadMapper = configurationSetUploadMapper;
     this.configRepository             = configRepository;
     this.configurationValidator       = configurationValidator;
     this.eventService = eventService;
 }
 public IConfigurationStore Initialize(
     IConfigurationValidator validator = null,
     IErrorLogger errorLogger          = null)
 {
     _validator   = validator ?? new DefaultValidator();
     _errorLogger = errorLogger ?? new DefaultErrorLogger();
     return(this);
 }
Beispiel #7
0
 public UpdateConfigurationFromEditorCommandHandler(IConfigurationService configurationService, IConfigurationUpdatePayloadMapper configurationUpdatePayloadMapper, IConfigurationModelRegistry configSetRegistry, IConfigurationValidator validator, IConfigRepository configRepository, IEventService eventService)
 {
     this.configurationService             = configurationService;
     this.configurationUpdatePayloadMapper = configurationUpdatePayloadMapper;
     this.configSetRegistry = configSetRegistry;
     this.configRepository  = configRepository;
     this.eventService      = eventService;
     this.validator         = validator;
 }
Beispiel #8
0
 public UploadEnpoint(IConfigHttpResponseFactory responseFactory, IConfigInstanceRouter configInstanceRouter, ConfigurationSetRegistry configCollection, IConfigRepository configRepository, IConfigurationValidator confgiurationValidator, IConfigurationSetUploadMapper configurationSetUploadMapper)
 {
     this.responseFactory              = responseFactory;
     this.configCollection             = configCollection;
     this.configInstanceRouter         = configInstanceRouter;
     this.configRepository             = configRepository;
     this.confgiurationValidator       = confgiurationValidator;
     this.configurationSetUploadMapper = configurationSetUploadMapper;
 }
        public async Task SingleExceptionIsCaught()
        {
            IEnumerable <IDDNSService> services = new[] { new NotImplementedExceptionThrowingDDNSService() };
            IConfigurationValidator    configurationValidator = A.Fake <IConfigurationValidator>();
            IExternalAddressClient     externalAddressClient  = A.Fake <IExternalAddressClient>();

            A.CallTo(() => configurationValidator.ValidateAsync(A <CancellationToken> .Ignored)).Returns(Result.Ok());

            A.CallTo(() => externalAddressClient.GetAsync(A <CancellationToken> .Ignored)).Returns(Result.Ok <IExternalAddressResponse>(new ExternalAddressResponse(default)));
        /// <summary>
        /// Instantiates a new <see cref="ConfigurationManager{T}"/> with cinfiguration validator that manages automatic and controls refreshing on configuration data.
        /// </summary>
        /// <param name="metadataAddress">The address to obtain configuration.</param>
        /// <param name="configRetriever">The <see cref="IConfigurationRetriever{T}"/></param>
        /// <param name="docRetriever">The <see cref="IDocumentRetriever"/> that reaches out to obtain the configuration.</param>
        /// <param name="configValidator">The <see cref="IConfigurationValidator{T}"/></param>
        /// <exception cref="ArgumentNullException">If 'configValidator' is null.</exception>
        public ConfigurationManager(string metadataAddress, IConfigurationRetriever <T> configRetriever, IDocumentRetriever docRetriever, IConfigurationValidator <T> configValidator)
            : this(metadataAddress, configRetriever, docRetriever)
        {
            if (configValidator == null)
            {
                throw LogHelper.LogArgumentNullException(nameof(configValidator));
            }

            _configValidator = configValidator;
        }
Beispiel #11
0
 /// <summary>
 /// Constructor, dependency injection happening here
 /// </summary>
 /// <param name="fileOperations">Injects FileOperations instance</param>
 /// <param name="distanceOperations">Injects DistanceOperations instance</param>
 /// <param name="configuration">Injects ConfigurationSettings instance</param>
 /// <param name="configurationValidator">Injects ConfigurationValidator instance</param>
 /// <param name="logger">Injects Logger instance</param>
 public InviteCustomerService(IFileOperations fileOperations, IDistanceOperations distanceOperations,
                              IOptions <ConfigurationSettings> configuration, IConfigurationValidator configurationValidator,
                              ILogger <InviteCustomerService> logger)
 {
     _fileOperations         = fileOperations;
     _distanceOperations     = distanceOperations;
     _configuration          = configuration;
     _configurationValidator = configurationValidator;
     _logger = logger;
 }
Beispiel #12
0
 public ConfigurationController(
     OcelotConfigSectionRepository sectionRepo,
     OcelotCompleteConfigRepository fullConfigRepo,
     IConfigurationValidator validator)
 {
     _sectionRepo    = sectionRepo;
     _fullConfigRepo = fullConfigRepo;
     _validator      = new OcelotConfigValidation(_sectionRepo, validator);
     _logger         = LogManager.GetLogger("apigatewayadmin");
 }
 public Organizer(IConsole console,
                  IConfigurationManager configurationManager,
                  IConfigurationValidator validator,
                  IFileSystem fileSystem)
 {
     _console = console;
     _configurationManager = configurationManager;
     _validator            = validator;
     _fileSystem           = fileSystem;
 }
 public ConfigurationValidatorTests()
 {
     modelBuilder   = new ConfigurationModelBuilder <SampleConfig, SampleConfigSet>(nameof(SampleConfigSet.SampleConfig), c => c.SampleConfig);
     configIdentity = new ConfigurationIdentity(new ConfigurationClient("TestId"), new Version(1, 0));
     service        = new Mock <IConfigurationSetService>();
     service.Setup(r => r.GetConfigurationSet(typeof(SampleConfigSet), It.IsAny <ConfigurationIdentity>()))
     .ReturnsAsync(() => new SampleConfigSet {
         Options = new OptionSet <OptionFromConfigSet>(OptionFromConfigSet.Options, o => o.Id.ToString(), o => o.Description)
     });
     target = new ConfigurationValidator(new TestOptionSetFactory(), service.Object);
 }
Beispiel #15
0
 public ConfigurationSetEnpoint(IConfigHttpResponseFactory responseFactory, IConfigurationSetModelPayloadMapper modelPayloadMapper, IConfigInstanceRouter configInstanceRouter, IConfigurationEditModelMapper configurationEditModelMapper, IConfigurationUpdatePayloadMapper configurationUpdatePayloadMapper, ConfigurationSetRegistry configCollection, IConfigRepository configRepository, IConfigurationValidator validator, IEventService eventService)
 {
     this.responseFactory              = responseFactory;
     this.configCollection             = configCollection;
     this.modelPayloadMapper           = modelPayloadMapper;
     this.configInstanceRouter         = configInstanceRouter;
     this.configurationEditModelMapper = configurationEditModelMapper;
     this.configRepository             = configRepository;
     this.validator = validator;
     this.configurationUpdatePayloadMapper = configurationUpdatePayloadMapper;
     this.eventService = eventService;
 }
 public FileInternalConfigurationCreator(
     IConfigurationValidator configurationValidator,
     IReRoutesCreator reRoutesCreator,
     IAggregatesCreator aggregatesCreator,
     IDynamicsCreator dynamicsCreator,
     IConfigurationCreator configCreator
     )
 {
     _configCreator          = configCreator;
     _dynamicsCreator        = dynamicsCreator;
     _aggregatesCreator      = aggregatesCreator;
     _reRoutesCreator        = reRoutesCreator;
     _configurationValidator = configurationValidator;
 }
Beispiel #17
0
 public FileOcelotConfigurationCreator(
     IOptions <FileConfiguration> options,
     IConfigurationValidator configurationValidator,
     IClaimToThingConfigurationParser claimToThingConfigurationParser,
     ILogger <FileOcelotConfigurationCreator> logger,
     ILoadBalancerFactory loadBalancerFactory,
     ILoadBalancerHouse loadBalancerHouse)
 {
     _loadBalanceFactory              = loadBalancerFactory;
     _loadBalancerHouse               = loadBalancerHouse;
     _options                         = options;
     _configurationValidator          = configurationValidator;
     _claimToThingConfigurationParser = claimToThingConfigurationParser;
     _logger = logger;
 }
        public static KeyValueConfigurationValidationSummary Validate(
            this ImmutableArray <MultipleValuesStringPair> multipleValuesStringPairs,
            [NotNull] IConfigurationValidator configurationValidator,
            ImmutableArray <KeyMetadata> metadata)
        {
            if (configurationValidator is null)
            {
                throw new ArgumentNullException(nameof(configurationValidator));
            }

            var keyValueConfigurationValidationResults = new List <KeyValueConfigurationValidationResult>();

            foreach (MultipleValuesStringPair multipleValuesStringPair in multipleValuesStringPairs)
            {
                KeyMetadata?metadataItem =
                    metadata.SafeToImmutableArray().SingleOrDefault(
                        item =>
                        item.Key.Equals(multipleValuesStringPair.Key, StringComparison.OrdinalIgnoreCase));

                if (metadataItem is {})
Beispiel #19
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IConfigurationValidator configValidator)
        {
            configValidator.ValidateSecrets();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
                app.UseHttpsRedirection();
            }

            app.UseStaticFiles();

            app.UseCookiePolicy();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
                endpoints.MapRazorPages();
                endpoints.MapHub <WorkerHub>(Constants.WorkerHubRoute);
                endpoints.MapHub <UserHub>(Constants.UserHubRoute);
            });
        }
 public ConfigurationFluentValidationTests()
 {
     _provider = new Mock <IAuthenticationSchemeProvider>();
     _configurationValidator = new FileConfigurationFluentValidator(_provider.Object);
 }
 public SettingsController(ILogger <SettingsController> logger, IConfigurationValidator configValidator, IOptionsSnapshot <AcmeSettings> options)
 {
     _logger          = logger;
     _configValidator = configValidator;
     _acmeSettings    = options?.Value;
 }
Beispiel #22
0
 public ConfigurationValidationHealthCheck(IConfigurationValidator configurationValidator)
 {
     _configurationValidator = configurationValidator ?? throw new ArgumentNullException(nameof(configurationValidator));
 }
Beispiel #23
0
 public ConfigurationValidatorTests()
 {
     modelBuilder = new ConfigurationModelBuilder <SampleConfig>(nameof(SampleConfig));
     target       = new ConfigurationValidator(new TestOptionSetFactory());
 }
 public ConfigurationStore()
 {
     _validator   = new DefaultValidator();
     _errorLogger = new DefaultErrorLogger();
 }
 public ConfigurationValidationTests()
 {
     _configurationValidator = new FileConfigurationValidator();
 }
Beispiel #26
0
 public OcelotConfigValidation(OcelotConfigSectionRepository repository, IConfigurationValidator validator)
 {
     _validator  = validator;
     _repository = repository;
 }
 public ConfigurationService(IConfigurationRepository configurationRepository, IMapper mapper, IConfigurationValidator configurationValidator)
 {
     _configurationRepository = configurationRepository;
     _mapper = mapper;
     _configurationValidator = configurationValidator;
 }
Beispiel #28
0
 public void RegisterValidator(IConfigurationValidator validator)
 {
     Validators[validator.FQN] = validator;
 }