コード例 #1
0
        /// <summary>
        /// 处理输出状态码
        /// </summary>
        /// <param name="context"></param>
        /// <param name="statusCode"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public async Task OnResponseStatusCodes(HttpContext context, int statusCode, UnifyResultStatusCodesOptions options)
        {
            // 设置响应状态码
            UnifyContext.SetResponseStatusCodes(context, statusCode, options);

            switch (statusCode)
            {
            // 处理 401 状态码
            case StatusCodes.Status401Unauthorized:
                await context.Response.WriteAsJsonAsync(new RESTfulResult <object>
                {
                    StatusCode = StatusCodes.Status401Unauthorized,
                    Succeeded  = false,
                    Data       = null,
                    Errors     = "401 Unauthorized",
                    Extras     = UnifyContext.Take(),
                    Timestamp  = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
                });

                break;

            // 处理 403 状态码
            case StatusCodes.Status403Forbidden:
                await context.Response.WriteAsJsonAsync(new RESTfulResult <object>
                {
                    StatusCode = StatusCodes.Status403Forbidden,
                    Succeeded  = false,
                    Data       = null,
                    Errors     = "403 Forbidden",
                    Extras     = UnifyContext.Take(),
                    Timestamp  = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
                });

                break;

            default:
                break;
            }
        }
コード例 #2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="next"></param>
 /// <param name="options"></param>
 public UnifyResultStatusCodesMiddleware(RequestDelegate next, UnifyResultStatusCodesOptions options)
 {
     _next    = next;
     _options = options;
 }