using NCC.ConfigurableOptions;
using Microsoft.Extensions.Configuration;
namespace NCC.UnifyResult
{
///
/// 规范化配置选项
///
public sealed class UnifyResultSettingsOptions : IConfigurableOptions
{
///
/// 设置返回 200 状态码列表
/// 默认:401,403,如果设置为 null,则标识所有状态码都返回 200
///
public int[] Return200StatusCodes { get; set; }
///
/// 适配(篡改)Http 状态码(只支持短路状态码,比如 401,403,500 等)
///
public int[][] AdaptStatusCodes { get; set; }
///
/// 是否支持 MVC 控制台规范化处理
///
public bool? SupportMvcController { get; set; }
///
/// 选项后期配置
///
///
///
public void PostConfigure(UnifyResultSettingsOptions options, IConfiguration configuration)
{
options.Return200StatusCodes ??= new[] { 401, 403 };
options.SupportMvcController ??= false;
}
}
}