From eb7a1e369f3a042aa73afc8a0abf8f9dbfe53e4f Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Mon, 30 Jan 2017 11:13:46 +0100 Subject: [PATCH] check http request status before attempting to decode response --- koji/__init__.py | 1 + koji/compatrequests.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/koji/__init__.py b/koji/__init__.py index 55e11ae6..95bd44ca 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -2321,6 +2321,7 @@ class ClientSession(object): if catcher: warnings.simplefilter("ignore") r = self.rsession.post(handler, **callopts) + r.raise_for_status() try: ret = self._read_xmlrpc_response(r) finally: diff --git a/koji/compatrequests.py b/koji/compatrequests.py index 2855da0f..7f6a14d3 100644 --- a/koji/compatrequests.py +++ b/koji/compatrequests.py @@ -121,6 +121,11 @@ class Response(object): self.session = session self.response = response + def raise_for_status(self): + if self.response.status >= 400: + raise httplib.HTTPException("HTTP %s: %s" % (self.response.status, + self.response.reason)) + def iter_content(self, blocksize=8192): # should we check this in Session.post()? # should we even check this here?