public void OnException(ExceptionContext context) { logger?.LogError(new EventId(), context.Exception, "An unhandled exception occurred during the request"); var exception = WebApiExceptionFactory.GetException(context.Exception); context.ExceptionHandled = true; context.Result = new ObjectResult(new ResponseError(exception.GetError())) { StatusCode = exception.GetStatusCode() }; }
private async Task WriteExceptionResponseAsync(HttpContext context, Exception ex) { logger?.LogError(new EventId(), ex, "An unhandled exception occurred during the request"); var exception = WebApiExceptionFactory.GetException(ex); var message = JsonConvert.SerializeObject(new ResponseError(exception.GetError()), settings); context.Response.StatusCode = exception.GetStatusCode(); context.Response.ContentLength = Encoding.UTF8.GetBytes(message).Length; context.Response.ContentType = "application/json; charset=utf-8"; await context.Response.WriteAsync(message, Encoding.UTF8); }