diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2012-12-13 12:01:07 -0600 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2012-12-18 13:58:05 -0600 |
| commit | 82e47d0866397b702ae777972add66b33afae69e (patch) | |
| tree | 2699bf32d9939ad13bed10f52cc020a8e47f7cc9 /cinderclient/exceptions.py | |
| parent | d3603535d2f47580bf49520048af1f27adea3e7c (diff) | |
| download | python-cinderclient-82e47d0866397b702ae777972add66b33afae69e.tar.gz | |
Use requests module for HTTP/HTTPS
* Implement correct certificate verification
* Add --os-cacert
* Rework tests for requests
Pinned requests module to < 1.0 as 1.0.2 is now current in pipi
as of 17Dec2012.
Blueprint: tls-verify
Change-Id: I71066ff7297f3b70c08b7ae1c8ae8b6a1b82bbae
Diffstat (limited to 'cinderclient/exceptions.py')
| -rw-r--r-- | cinderclient/exceptions.py | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/cinderclient/exceptions.py b/cinderclient/exceptions.py index 628adcd..d7be180 100644 --- a/cinderclient/exceptions.py +++ b/cinderclient/exceptions.py @@ -124,16 +124,19 @@ _code_map = dict((c.http_status, c) for c in [BadRequest, Unauthorized, def from_response(response, body): """ Return an instance of an ClientException or subclass - based on an httplib2 response. + based on an requests response. Usage:: - resp, body = http.request(...) - if resp.status != 200: - raise exception_from_response(resp, body) + resp, body = requests.request(...) + if resp.status_code != 200: + raise exception_from_response(resp, rest.text) """ - cls = _code_map.get(response.status, ClientException) - request_id = response.get('x-compute-request-id') + cls = _code_map.get(response.status_code, ClientException) + if response.headers: + request_id = response.headers.get('x-compute-request-id') + else: + request_id = None if body: message = "n/a" details = "n/a" @@ -141,7 +144,7 @@ def from_response(response, body): error = body[body.keys()[0]] message = error.get('message', None) details = error.get('details', None) - return cls(code=response.status, message=message, details=details, + return cls(code=response.status_code, message=message, details=details, request_id=request_id) else: - return cls(code=response.status, request_id=request_id) + return cls(code=response.status_code, request_id=request_id) |
