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?