From d0a3de84c00db3d7718e1256269a257fc95be4ab Mon Sep 17 00:00:00 2001 From: Garrett Holmstrom Date: Sat, 3 Aug 2013 01:13:10 +0000 Subject: [PATCH] Don't cache entire successful responses before returning them --- requestbuilder/request.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/requestbuilder/request.py b/requestbuilder/request.py index e616cbb..7bc95b0 100644 --- a/requestbuilder/request.py +++ b/requestbuilder/request.py @@ -131,17 +131,16 @@ class BaseRequest(BaseCommand): return self.parse_response(self.response) except ServerError as err: self.response = err.response - return self.handle_server_error(err) - finally: - # Empty the socket buffer so it can be reused - ## TODO: is this a good idea? We might be forced to download lots - ## of data on error. try: + # Empty the socket buffer so it can be reused. + # Hopefully error responses won't be too large for this to be + # problematic. if self.response is not None: self.response.content except RuntimeError: # The content was already consumed pass + return self.handle_server_error(err) def handle_server_error(self, err): self.log.debug('-- response content --\n',