Spade
Mini Shell
| Directory:~$ /lib/python2.7/site-packages/requests_toolbelt/ |
| [Home] [System Details] [Kill Me] |
�
ӵ
Yc@s9ddlZddlmZdejfd��YZdS(i����Ni(turljointBaseUrlSessioncBs2eZdZdZdd�Zd�Zd�ZRS(s�A
Session with a URL that all requests will use as a base.
Let's start by looking at an example:
.. code-block:: python
>>> from requests_toolbelt import sessions
>>> s = sessions.BaseUrlSession(
... base_url='https://example.com/resource/')
>>> r = s.get('sub-resource/'
params={'foo': 'bar'})
>>> print(r.request.url)
https://example.com/resource/sub-resource/?foo=bar
Our call to the ``get`` method will make a request to the URL passed in
when we created the Session and the partial resource name we provide.
We implement this by overriding the ``request`` method so most uses of
a
Session are covered. (This, however, precludes the use of
PreparedRequest
objects).
.. note::
The base URL that you provide and the path you provide are **very**
important.
Let's look at another *similar* example
.. code-block:: python
>>> from requests_toolbelt import sessions
>>> s = sessions.BaseUrlSession(
... base_url='https://example.com/resource/')
>>> r = s.get('/sub-resource/'
params={'foo': 'bar'})
>>> print(r.request.url)
https://example.com/sub-resource/?foo=bar
The key difference here is that we called ``get`` with
``/sub-resource/``,
i.e., there was a leading ``/``. This changes how we create the URL
because we rely on :mod:`urllib.parse.urljoin`.
To override how we generate the URL, sub-class this method and override
the
``create_url`` method.
Based on implementation from
https://github.com/kennethreitz/requests/issues/2554#issuecomment-109341010
cCs)|r||_ntt|�j�dS(N(tbase_urltsuperRt__init__(tselfR((s>/usr/lib/python2.7/site-packages/requests_toolbelt/sessions.pyR8scOs.|j|�}tt|�j||||�S(s3Send
the request after generating the complete URL.(t
create_urlRRtrequest(Rtmethodturltargstkwargs((s>/usr/lib/python2.7/site-packages/requests_toolbelt/sessions.pyR=scCst|j|�S(s+Create
the URL based off this partial
path.(RR(RR ((s>/usr/lib/python2.7/site-packages/requests_toolbelt/sessions.pyRDsN(t__name__t
__module__t__doc__tNoneRRRR(((s>/usr/lib/python2.7/site-packages/requests_toolbelt/sessions.pyRs
. (trequestst_compatRtSessionR(((s>/usr/lib/python2.7/site-packages/requests_toolbelt/sessions.pyt<module>s