diff --git a/mistralclient/api/base.py b/mistralclient/api/base.py index 44018e89..e25a0a2c 100644 --- a/mistralclient/api/base.py +++ b/mistralclient/api/base.py @@ -135,7 +135,8 @@ class ResourceManager(object): def _raise_api_exception(self, resp): try: - error_data = get_json(resp).get("faultstring") + error_data = (resp.headers.get("Server-Error-Message", None) or + get_json(resp).get("faultstring")) except ValueError: error_data = resp.content raise APIException(error_code=resp.status_code, diff --git a/mistralclient/tests/unit/base.py b/mistralclient/tests/unit/base.py index 0ac01ff1..5989becb 100644 --- a/mistralclient/tests/unit/base.py +++ b/mistralclient/tests/unit/base.py @@ -24,6 +24,7 @@ class FakeResponse(object): def __init__(self, status_code, content=None): self.status_code = status_code self.content = content + self.headers = {} def json(self): return json.loads(self.content)