HttpResponseExceptionFilter.cs 599 B

1234567891011121314151617
  1. using Microsoft.AspNetCore.Mvc;
  2. using Microsoft.AspNetCore.Mvc.Filters;
  3. public class HttpResponseExceptionFilter : IActionFilter, IOrderedFilter {
  4. public int Order { get; set; } = int.MaxValue - 10;
  5. public void OnActionExecuting(ActionExecutingContext context) { }
  6. public void OnActionExecuted(ActionExecutedContext context) {
  7. if (context.Exception is HttpResponseException exception) {
  8. context.Result = new ObjectResult(exception.Value) {
  9. StatusCode = exception.Status,
  10. };
  11. context.ExceptionHandled = true;
  12. }
  13. }
  14. }