diff --git a/sprockets/clients/dynamodb/__init__.py b/sprockets/clients/dynamodb/__init__.py index 0eabb92..30a10bd 100644 --- a/sprockets/clients/dynamodb/__init__.py +++ b/sprockets/clients/dynamodb/__init__.py @@ -4,7 +4,7 @@ except ImportError as error: def DynamoDB(*args, **kwargs): raise error -version_info = (0, 2, 0) +version_info = (0, 2, 1) __version__ = '.'.join(str(v) for v in version_info) # Response constants diff --git a/sprockets/clients/dynamodb/connector.py b/sprockets/clients/dynamodb/connector.py index a6e698a..5a0882b 100644 --- a/sprockets/clients/dynamodb/connector.py +++ b/sprockets/clients/dynamodb/connector.py @@ -104,8 +104,12 @@ class DynamoDB(object): if http_err.code == 599: future.set_exception(exceptions.TimeoutException()) else: + response_reason = str(http_err.code) + if http_err.response and \ + hasattr(http_err.response, 'body'): + response_reason = http_err.response.body future.set_exception( - exceptions.RequestException(http_err.message)) + exceptions.RequestException(response_reason)) except Exception as exception: future.set_exception(exception) else: @@ -126,7 +130,11 @@ class DynamoDB(object): if err.code == 599: future.set_exception(exceptions.TimeoutException()) else: - future.set_exception(exceptions.RequestException(err.message)) + reason = str(err.code) + if err.response and hasattr(err.response, 'body'): + reason = err.response.body + future.set_exception(exceptions.RequestException(reason)) + else: ioloop.IOLoop.current().add_future(aws_response, handle_response) return future