diff --git a/pyactiveresource/connection.py b/pyactiveresource/connection.py index 5515b48..81010bc 100644 --- a/pyactiveresource/connection.py +++ b/pyactiveresource/connection.py @@ -7,7 +7,8 @@ import socket import sys import six -from six.moves import urllib +import backoff +from six.moves import urllib, http_client from pyactiveresource import formats @@ -317,6 +318,7 @@ def _urlopen(self, request): else: return urllib.request.urlopen(request) + @backoff.on_exception(backoff.expo, (ServerError, http_client.IncompleteRead)) def get(self, path, headers=None): """Perform an HTTP get request. diff --git a/setup.py b/setup.py index e8640c1..56c6931 100644 --- a/setup.py +++ b/setup.py @@ -20,6 +20,7 @@ test_suite='test', install_requires=[ 'six', + 'backoff' ], tests_require=[ python_dateutils_version,