adapters
module requests.adapters in requests
Description
requests.adapters
~~~~~~~~~~~~~~~~~
This module contains the transport adapters that Requests uses to define
and maintain connections.
Classes
builtins.object
BaseAdapter
HTTPAdapter
BaseAdapter
class BaseAdapter(builtins.object)
| The Base Transport Adapter
|
| Methods defined here:
|
|
BaseAdapter.__init__
|
| __init__(self)
| Initialize self. See help(type(self)) for accurate signature.
|
|
BaseAdapter.close
|
| close(self)
| Cleans up adapter specific items.
|
|
BaseAdapter.send
|
| send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None)
| Sends PreparedRequest object. Returns Response object.
|
| :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
| :param stream: (optional) Whether to stream the request content.
| :param timeout: (optional) How long to wait for the server to send
| data before giving up, as a float, or a :ref:`(connect timeout,
| read timeout) <timeouts>` tuple.
| :type timeout: float or tuple
| :param verify: (optional) Either a boolean, in which case it controls whether we verify
| the server's TLS certificate, or a string, in which case it must be a path
| to a CA bundle to use
| :param cert: (optional) Any user-provided SSL certificate to be trusted.
| :param proxies: (optional) The proxies dictionary to apply to the request.
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
HTTPAdapter
class HTTPAdapter(BaseAdapter)
| HTTPAdapter(pool_connections=10, pool_maxsize=10, max_retries=0, pool_block=False)
|
| The built-in HTTP Adapter for urllib3.
|
| Provides a general-case interface for Requests sessions to contact HTTP and
| HTTPS urls by implementing the Transport Adapter interface. This class will
| usually be created by the :class:`Session <Session>` class under the
| covers.
|
| :param pool_connections: The number of urllib3 connection pools to cache.
| :param pool_maxsize: The maximum number of connections to save in the pool.
| :param max_retries: The maximum number of retries each connection
| should attempt. Note, this applies only to failed DNS lookups, socket
| connections and connection timeouts, never to requests where data has
| made it to the server. By default, Requests does not retry failed
| connections. If you need granular control over the conditions under
| which we retry a request, import urllib3's ``Retry`` class and pass
| that instead.
| :param pool_block: Whether the connection pool should block for connections.
|
| Usage::
|
| >>> import requests
| >>> s = requests.Session()
| >>> a = requests.adapters.HTTPAdapter(max_retries=3)
| >>> s.mount('http://', a)
|
| Method resolution order:
| HTTPAdapter
| BaseAdapter
| builtins.object
|
| Methods defined here:
|
|
HTTPAdapter.__getstate__
|
| __getstate__(self)
|
|
HTTPAdapter.__init__
|
| __init__(self, pool_connections=10, pool_maxsize=10, max_retries=0, pool_block=False)
| Initialize self. See help(type(self)) for accurate signature.
|
|
HTTPAdapter.__setstate__
|
| __setstate__(self, state)
|
|
HTTPAdapter.add_headers
|
| add_headers(self, request, **kwargs)
| Add any headers needed by the connection. As of v2.0 this does
| nothing by default, but is left for overriding by users that subclass
| the :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| This should not be called from user code, and is only exposed for use
| when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| :param request: The :class:`PreparedRequest <PreparedRequest>` to add headers to.
| :param kwargs: The keyword arguments from the call to send().
|
|
HTTPAdapter.build_response
|
| build_response(self, req, resp)
| Builds a :class:`Response <requests.Response>` object from a urllib3
| response. This should not be called from user code, and is only exposed
| for use when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`
|
| :param req: The :class:`PreparedRequest <PreparedRequest>` used to generate the response.
| :param resp: The urllib3 response object.
| :rtype: requests.Response
|
|
HTTPAdapter.cert_verify
|
| cert_verify(self, conn, url, verify, cert)
| Verify a SSL certificate. This method should not be called from user
| code, and is only exposed for use when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| :param conn: The urllib3 connection object associated with the cert.
| :param url: The requested URL.
| :param verify: Either a boolean, in which case it controls whether we verify
| the server's TLS certificate, or a string, in which case it must be a path
| to a CA bundle to use
| :param cert: The SSL certificate to verify.
|
|
HTTPAdapter.close
|
| close(self)
| Disposes of any internal state.
|
| Currently, this closes the PoolManager and any active ProxyManager,
| which closes any pooled connections.
|
|
HTTPAdapter.get_connection
|
| get_connection(self, url, proxies=None)
| Returns a urllib3 connection for the given URL. This should not be
| called from user code, and is only exposed for use when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| :param url: The URL to connect to.
| :param proxies: (optional) A Requests-style dictionary of proxies used on this request.
| :rtype: urllib3.ConnectionPool
|
|
HTTPAdapter.init_poolmanager
|
| init_poolmanager(self, connections, maxsize, block=False, **pool_kwargs)
| Initializes a urllib3 PoolManager.
|
| This method should not be called from user code, and is only
| exposed for use when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| :param connections: The number of urllib3 connection pools to cache.
| :param maxsize: The maximum number of connections to save in the pool.
| :param block: Block when no free connections are available.
| :param pool_kwargs: Extra keyword arguments used to initialize the Pool Manager.
|
|
HTTPAdapter.proxy_headers
|
| proxy_headers(self, proxy)
| Returns a dictionary of the headers to add to any request sent
| through a proxy. This works with urllib3 magic to ensure that they are
| correctly sent to the proxy, rather than in a tunnelled request if
| CONNECT is being used.
|
| This should not be called from user code, and is only exposed for use
| when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| :param proxy: The url of the proxy being used for this request.
| :rtype: dict
|
|
HTTPAdapter.proxy_manager_for
|
| proxy_manager_for(self, proxy, **proxy_kwargs)
| Return urllib3 ProxyManager for the given proxy.
|
| This method should not be called from user code, and is only
| exposed for use when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| :param proxy: The proxy to return a urllib3 ProxyManager for.
| :param proxy_kwargs: Extra keyword arguments used to configure the Proxy Manager.
| :returns: ProxyManager
| :rtype: urllib3.ProxyManager
|
|
HTTPAdapter.request_url
|
| request_url(self, request, proxies)
| Obtain the url to use when making the final request.
|
| If the message is being sent through a HTTP proxy, the full URL has to
| be used. Otherwise, we should only use the path portion of the URL.
|
| This should not be called from user code, and is only exposed for use
| when subclassing the
| :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
|
| :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
| :param proxies: A dictionary of schemes or schemes and hosts to proxy URLs.
| :rtype: str
|
|
HTTPAdapter.send
|
| send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None)
| Sends PreparedRequest object. Returns Response object.
|
| :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
| :param stream: (optional) Whether to stream the request content.
| :param timeout: (optional) How long to wait for the server to send
| data before giving up, as a float, or a :ref:`(connect timeout,
| read timeout) <timeouts>` tuple.
| :type timeout: float or tuple or urllib3 Timeout object
| :param verify: (optional) Either a boolean, in which case it controls whether
| we verify the server's TLS certificate, or a string, in which case it
| must be a path to a CA bundle to use
| :param cert: (optional) Any user-provided SSL certificate to be trusted.
| :param proxies: (optional) The proxies dictionary to apply to the request.
| :rtype: requests.Response
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxs...
|
| ----------------------------------------------------------------------
| Data descriptors inherited from BaseAdapter:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)