content = resp.read()
         conn.close()
         try:
-            return json.loads(content)
+            content = json.loads(content)
+            if "error" in content:
+                try:
+                    raise Exception("Getting an error while requiring {} ({}: {}, {})".format(
+                        url,
+                        content['error']['code'],
+                        content['error']['title'],
+                        content['error']['message'],
+                    ))
+                except ValueError:
+                    raise Exception("Getting an error while requiring {} ({})".format(url, content))
+            return content
         except ValueError:
-            return {"content": content}
+            raise Exception("Getting an error while requiring {} ({})".format(url, content))
+            # return {"content": content}
 
     def auth_keystone(self, username=None, password=None, host=None, port=None):
         """Send a new authentication request to Keystone