Blame view

netcore/src/Infrastructure/NCC/UnifyResult/Options/UnifyResultSettingsOptions.cs 1.28 KB
de2bd2f9   “wangming”   项目初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  using NCC.ConfigurableOptions;
  using Microsoft.Extensions.Configuration;
  
  namespace NCC.UnifyResult
  {
      /// <summary>
      /// 规范化配置选项
      /// </summary>
      public sealed class UnifyResultSettingsOptions : IConfigurableOptions<UnifyResultSettingsOptions>
      {
          /// <summary>
          /// 设置返回 200 状态码列表
          /// <para>默认:401403,如果设置为 null,则标识所有状态码都返回 200 </para>
          /// </summary>
          public int[] Return200StatusCodes { get; set; }
  
          /// <summary>
          /// 适配(篡改)Http 状态码(只支持短路状态码,比如 401403500 等)
          /// </summary>
          public int[][] AdaptStatusCodes { get; set; }
  
          /// <summary>
          /// 是否支持 MVC 控制台规范化处理
          /// </summary>
          public bool? SupportMvcController { get; set; }
  
          /// <summary>
          /// 选项后期配置
          /// </summary>
          /// <param name="options"></param>
          /// <param name="configuration"></param>
          public void PostConfigure(UnifyResultSettingsOptions options, IConfiguration configuration)
          {
              options.Return200StatusCodes ??= new[] { 401, 403 };
              options.SupportMvcController ??= false;
          }
      }
  }