- Vinod Chandru
- Johnny Goodnow <j.goodnow29@gmail.com>
- Denis Ryzhkov <denisr@denisr.com>
+- Wilfred Hughes <me@wilfred.me.uk> @dontYetKnow
class HTTPAdapter(BaseAdapter):
"""Built-In HTTP Adapter for Urllib3."""
def __init__(self, pool_connections=DEFAULT_POOLSIZE, pool_maxsize=DEFAULT_POOLSIZE):
- self.max_retries = DEFAULT_RETRIES
self.config = {}
super(HTTPAdapter, self).__init__()
request.headers['Proxy-Authorization'] = _basic_auth_str(username,
password)
- def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None):
+ def send(self, request, stream=False, timeout=None, max_retries=DEFAULT_RETRIES, verify=True, cert=None, proxies=None):
"""Sends PreparedRequest object. Returns Response object."""
conn = self.get_connection(request.url, proxies)
assert_same_host=False,
preload_content=False,
decode_content=False,
- retries=self.max_retries,
+ retries=max_retries,
timeout=timeout
)
:param files: (optional) Dictionary of 'name': file-like-objects (or {'name': ('filename', fileobj)}) for multipart encoding upload.
:param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
:param timeout: (optional) Float describing the timeout of the request.
+ :param max_retries: (optional) The maximum number of retries (defaults to 0).
:param allow_redirects: (optional) Boolean. Set to True if POST/PUT/DELETE redirect following is allowed.
:param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
:param verify: (optional) if ``True``, the SSL cert will be verified. A CA_BUNDLE path can also be provided.
class SessionRedirectMixin(object):
def resolve_redirects(self, resp, req, stream=False, timeout=None,
- verify=True, cert=None, proxies=None):
+ max_retries=0, verify=True, cert=None, proxies=None):
"""Receives a Response. Returns a generator of Responses."""
i = 0
prepared_request,
stream=stream,
timeout=timeout,
+ max_retries=max_retries,
verify=verify,
cert=cert,
proxies=proxies,
files=None,
auth=None,
timeout=None,
+ max_retries=0,
allow_redirects=True,
proxies=None,
hooks=None,
send_kwargs = {
'stream': stream,
'timeout': timeout,
+ 'max_retries': max_retries,
'verify': verify,
'cert': cert,
'proxies': proxies,
req = kwargs.pop('req', None)
stream = kwargs.get('stream', False)
timeout = kwargs.get('timeout')
+ max_retries = kwargs.get('max_retries')
verify = kwargs.get('verify')
cert = kwargs.get('cert')
proxies = kwargs.get('proxies')
# Redirect resolving generator.
gen = self.resolve_redirects(r, request, stream=stream,
- timeout=timeout, verify=verify, cert=cert,
+ timeout=timeout, max_retries=max_retries,
+ verify=verify, cert=cert,
proxies=proxies)
# Resolve redirects if allowed.