Files
Examples/GerstITS.Examples.Api/Common/Configurations/WebApiConfiguration.Server.cs
2021-07-15 22:31:00 +02:00

35 lines
1.2 KiB
C#

using GerstITS.System.Configurations;
using GerstITS.Web.Api.Builder;
using Microsoft.Extensions.Configuration;
namespace GerstITS.Examples.Api.Configurations
{
internal sealed class ServerConfiguration : IServerConfiguration
{
#region Constructors
public ServerConfiguration(string parentPrefix, Microsoft.Extensions.Configuration.IConfiguration configuration)
{
var prefix = $"{parentPrefix}:{this.ToConfigurationPrefix()}";
UseHttpsRedirection = configuration.GetValue<bool>($"{prefix}:{nameof(UseHttpsRedirection)}");
UseHsts = configuration.GetValue<bool>($"{prefix}:{nameof(UseHsts)}");
UseCors = configuration.GetValue<bool>($"{prefix}:{nameof(UseCors)}");
Headers = new WebApiHeadersConfiguration(prefix, configuration);
CorsPolicy = new CorsPolicyConfiguration(prefix, configuration);
}
#endregion
#region IServerConfiguration
public bool UseHttpsRedirection { get; }
public bool UseHsts { get; }
public bool UseCors { get; }
public IHeaderConfiguration Headers { get; }
public ICorsPolicy CorsPolicy { get; }
#endregion
}
}