This seems wrong. What happens if you get passed in an `HttpResponse` and no exception at all?