private static void RegisterConfigurationCache(IServiceCollection services, PlainConfiguration plainConfiguration)
        {
            var plainConfigurationCache = new PlainConfigurationCache();

            plainConfigurationCache.Add(plainConfiguration);

            services.AddSingleton <IPlainConfigurationCache>(plainConfigurationCache);
        }
Ejemplo n.º 2
0
        public void Add(PlainConfiguration plainConfiguration)
        {
            if (plainConfiguration == null)
            {
                throw new ArgumentNullException(nameof(plainConfiguration));
            }

            this.cache = plainConfiguration;
        }
Ejemplo n.º 3
0
        public PlainConfiguration Read(IConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            var plainConfiguration = new PlainConfiguration();

            configuration.Bind(plainConfiguration);

            if (plainConfiguration.Routes == null || !plainConfiguration.Routes.Any())
            {
                throw new InvalidOperationException("Plain configuration routes cannot be read");
            }

            if (!plainConfiguration.TimeoutInSeconds.HasValue)
            {
                plainConfiguration.TimeoutInSeconds = DefaultTimeoutInSeconds;
            }

            return(plainConfiguration);
        }