It looks to me like you want to proxy all HTTP responses except those that indicate a server error. I suggest you simply check if the status code is between 500 and 599, and if so, return the special server error response; otherwise, just proxy the content regardless, and pass whatever status code you received from the remote server into the `status` argument of the HttpRequest you're making. (For that matter, why are you making an exception for server errors? Why not proxy them, too?)

You should also take a look at the `JsonResponse` class in `utils.json_request.py`: it looks like it would be a perfect match for what you're doing. I've created a pull request to change this whole file over to using `JsonResponse`: #575