Ejemplo n.º 1
0
        public IActionResult GetClientError(ActionContext actionContext, IClientErrorActionResult clientError)
        {
            IMyProblemDetails problemDetails;

            if (clientError is IMyProblemDetailsActionResult problemDetailsActionResult)
            {
                problemDetails = problemDetailsActionResult.ProblemDetails;
            }
            else
            {
                problemDetails = new MyProblemDetails()
                {
                    Status = clientError.StatusCode,
                    Type   = "about:blank",
                };
                if (clientError.StatusCode is int statusCode &&
                    _options.ClientErrorMapping.TryGetValue(statusCode, out var errorData))
                {
                    problemDetails.Title = errorData.Title;
                    problemDetails.Type  = errorData.Link;
                }
            }
            return(MyProblemDetailsActionResult.GetActionResult(actionContext, problemDetails));
        }
        public Task ExecuteResultAsync(ActionContext context)
        {
            var actionResult = MyProblemDetailsActionResult.GetActionResult(context, this.ProblemDetails);

            return(actionResult.ExecuteResultAsync(context));
        }