Your IP : 216.73.216.196
�
��Wc @ s9 d d l Z d d l m Z d e j f d � � YZ d S( i����Ni ( t urljoint BaseUrlSessionc B s2 e Z d Z d Z d d � Z d � Z d � Z RS( 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
c C s) | r | | _ n t t | � j � d S( N( t base_urlt superR t __init__( t selfR ( ( sK /opt/alt/python27/lib/python2.7/site-packages/requests_toolbelt/sessions.pyR 8 s c O s. | j | � } t t | � j | | | | � S( s3 Send the request after generating the complete URL.( t
create_urlR R t request( R t methodt urlt argst kwargs( ( sK /opt/alt/python27/lib/python2.7/site-packages/requests_toolbelt/sessions.pyR = s c C s t | j | � S( s+ Create the URL based off this partial path.( R R ( R R ( ( sK /opt/alt/python27/lib/python2.7/site-packages/requests_toolbelt/sessions.pyR D s N( t __name__t
__module__t __doc__t NoneR R R R ( ( ( sK /opt/alt/python27/lib/python2.7/site-packages/requests_toolbelt/sessions.pyR s
. ( t requestst _compatR t SessionR ( ( ( sK /opt/alt/python27/lib/python2.7/site-packages/requests_toolbelt/sessions.pyt <module> s