diff options
Diffstat (limited to 'moonclient')
-rw-r--r-- | moonclient/moonclient/shell.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/moonclient/moonclient/shell.py b/moonclient/moonclient/shell.py index 49422a45..5e40bf40 100644 --- a/moonclient/moonclient/shell.py +++ b/moonclient/moonclient/shell.py @@ -150,9 +150,21 @@ class MoonClient(App): 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 |