Spade
Mini Shell
| Directory:~$ /lib/python2.7/site-packages/requests_toolbelt/adapters/ |
| [Home] [System Details] [Kill Me] |
�
ӵ Yc@sFdZddlmZddlmZmZdefd��YZdS(s�
requests_toolbelt.source_adapter
================================
This file contains an implementation of the SourceAddressAdapter originally
demonstrated on the Requests GitHub page.
i����(tHTTPAdapteri(tpoolmanagert
basestringtSourceAddressAdaptercBs,eZdZd�Zed�Zd�ZRS(s9
A Source Address Adapter for Python Requests that enables you to choose
the
local address to bind to. This allows you to send your HTTP requests
from a
specific interface and IP address.
Two address formats are accepted. The first is a string: this will set
the
local IP address to the address given in the string, and will also
choose a
semi-random high port for the local port number.
The second is a two-tuple of the form (ip address, port): for example,
``('10.10.10.10', 8999)``. This will set the local IP address
to the first
element, and the local port to the second element. If ``0`` is used as
the
port number, a semi-random high port will be selected.
.. warning:: Setting an explicit local port can have negative
interactions
with connection-pooling in Requests: in particular, it
risks
the possibility of getting "Address in use"
errors. The
string-only argument is generally preferred to the
tuple-form.
Example usage:
.. code-block:: python
import requests
from requests_toolbelt.adapters.source import SourceAddressAdapter
s = requests.Session()
s.mount('http://',
SourceAddressAdapter('10.10.10.10'))
s.mount('https://',
SourceAddressAdapter(('10.10.10.10', 8999))
cKsbt|t�r!|df|_n't|t�r<||_ntd��tt|�j|�dS(Nis<source_address
must be IP address string or (ip, port) tuple(t
isinstanceRtsource_addressttuplet TypeErrortsuperRt__init__(tselfRtkwargs((sE/usr/lib/python2.7/site-packages/requests_toolbelt/adapters/source.pyR -s c Cs.tjd|d|d|d|j�|_dS(Nt num_poolstmaxsizetblockR(RtPoolManagerR(R
tconnectionsR
R((sE/usr/lib/python2.7/site-packages/requests_toolbelt/adapters/source.pytinit_poolmanager9s
cOs&|j|d<tt|�j||�S(NR(RRRtproxy_manager_for(R
targsR((sE/usr/lib/python2.7/site-packages/requests_toolbelt/adapters/source.pyR@s
(t__name__t
__module__t__doc__R tFalseRR(((sE/usr/lib/python2.7/site-packages/requests_toolbelt/adapters/source.pyRs N(Rtrequests.adaptersRt_compatRRR(((sE/usr/lib/python2.7/site-packages/requests_toolbelt/adapters/source.pyt<module>s