From f99f313672073f9d657912ca27e89844f47d371e Mon Sep 17 00:00:00 2001 From: Kiall Mac Innes <kiall@managedit.ie> Date: Tue, 11 Dec 2012 06:24:48 -0800 Subject: [PATCH] Handle HTTP 400 errors somewhat more sanely. Change-Id: I49c4225adfd552f0dd01c80cc3053ff2599eb47f --- monikerclient/exceptions.py | 4 ++++ monikerclient/v1/__init__.py | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/monikerclient/exceptions.py b/monikerclient/exceptions.py index bf0ea252..1e0a9fdd 100644 --- a/monikerclient/exceptions.py +++ b/monikerclient/exceptions.py @@ -31,6 +31,10 @@ class Unknown(RemoteError): pass +class BadRequest(RemoteError): + pass + + class Forbidden(RemoteError): pass diff --git a/monikerclient/v1/__init__.py b/monikerclient/v1/__init__.py index 70a7617e..7eba9b67 100644 --- a/monikerclient/v1/__init__.py +++ b/monikerclient/v1/__init__.py @@ -74,7 +74,9 @@ class Client(object): """ response = func(*args, **kw) - if response.status_code in (401, 403): + if response.status_code == 400: + raise exceptions.BadRequest(response.json['errors']) + elif response.status_code in (401, 403): raise exceptions.Forbidden() elif response.status_code == 404: raise exceptions.NotFound()