private object PopulateResponse(Exception exception, HttpResponse httpResponse) { httpResponse.StatusCode = exception switch { InvalidActionException _ => StatusCodes.Status400BadRequest, DuplicateRecordException _ => StatusCodes.Status400BadRequest, RecordNotFoundException _ => StatusCodes.Status404NotFound, _ => StatusCodes.Status500InternalServerError }; if (httpResponse.StatusCode == StatusCodes.Status500InternalServerError) { _logger.LogError(exception, "Unhandled exception"); if (!_env.IsDevelopment()) { return(new { Message = "Unexpected error :(" }); } while (exception.InnerException != null) { exception = exception.InnerException; } } return(new { exception.Message }); } }
private Response GetResponse(Exception exception) { var statusCode = exception switch { InvalidActionException _ => StatusCodes.Status400BadRequest, DuplicateRecordException _ => StatusCodes.Status400BadRequest, ForbiddenException _ => StatusCodes.Status403Forbidden, RecordNotFoundException _ => StatusCodes.Status404NotFound, _ => StatusCodes.Status500InternalServerError }; if (statusCode == StatusCodes.Status500InternalServerError) { _logger.LogError(exception, "Unhandled exception"); if (!_env.IsDevelopment()) { return(new Response(statusCode, "Unexpected error :(")); } while (exception.InnerException != null) { exception = exception.InnerException; } } return(new Response(statusCode, exception)); }
private object PopulateResponse(Exception exception, HttpResponse httpResponse) { httpResponse.StatusCode = exception switch { InvalidActionException _ => StatusCodes.Status400BadRequest, RecordNotFoundException _ => StatusCodes.Status404NotFound, _ => StatusCodes.Status500InternalServerError }; if (httpResponse.StatusCode == StatusCodes.Status500InternalServerError) { _logger.LogError(exception, "Unhandled exception"); } return(new { exception.Message }); } }