35 lines
1.2 KiB
C#
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
|
|
}
|
|
} |