Handle error response for webob>=1.6.0
WebOb change https://github.com/Pylons/webob/pull/230 changed the way in which the error response body is formatted such that it's no longer a nested dict. So we have to handle both the old convention of an error message key to the response body error dict and the new way with just the error body dict. This was reported upstream: https://github.com/Pylons/webob/issues/235 But given this was apparently implemented as a long-overdue change in WebOb the behavior is not likely to change.Handle error response for webob>=1.6.0 Change-Id: I7d589415aa024588faf77c8234ac026110f6c3cd Closes-Bug: #1559072
This commit is contained in:
parent
0405d398d5
commit
19befa6965
@ -242,9 +242,14 @@ def from_response(response, body):
|
||||
message = "n/a"
|
||||
details = "n/a"
|
||||
if hasattr(body, 'keys'):
|
||||
error = body[list(body)[0]]
|
||||
message = error.get('message', message)
|
||||
details = error.get('details', details)
|
||||
# Only in webob>=1.6.0
|
||||
if 'message' in body:
|
||||
message = body.get('message')
|
||||
details = body.get('details')
|
||||
else:
|
||||
error = body[list(body)[0]]
|
||||
message = error.get('message', message)
|
||||
details = error.get('details', details)
|
||||
return cls(code=response.status_code, message=message, details=details,
|
||||
request_id=request_id, response=response)
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user