private static async Task HandleExceptionAsync(HttpContext context, Exception exception) { var code = HttpStatusCode.InternalServerError; if (exception is NotFoundException) { code = HttpStatusCode.NotFound; } if (exception is ValidationException) { code = HttpStatusCode.BadRequest; } var result = JsonConvert.SerializeObject(ErrorDetails.For(exception.Message)); context.Response.ContentType = "application/json"; context.Response.StatusCode = (int)code; await context.Response.WriteAsync(result); }