From eb7a1e369f3a042aa73afc8a0abf8f9dbfe53e4f Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Feb 14 2017 16:19:15 +0000 Subject: check http request status before attempting to decode response --- diff --git a/koji/__init__.py b/koji/__init__.py index 55e11ae..95bd44c 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 2855da0..7f6a14d 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?