Files
Examples/GerstITS.Examples.Api/Common/Configurations/WebApiConfiguration.Server.cs
2022-12-22 15:29:53 +01:00

34 lines
1.1 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
}