summaryrefslogtreecommitdiff
path: root/cinderclient/exceptions.py
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2012-12-13 12:01:07 -0600
committerDean Troyer <dtroyer@gmail.com>2012-12-18 13:58:05 -0600
commit82e47d0866397b702ae777972add66b33afae69e (patch)
tree2699bf32d9939ad13bed10f52cc020a8e47f7cc9 /cinderclient/exceptions.py
parentd3603535d2f47580bf49520048af1f27adea3e7c (diff)
downloadpython-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.py19
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)