Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/requests_toolbelt/sessions.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
| author | shellac |
|---|---|
| date | Mon, 01 Jun 2020 08:59:25 -0400 |
| parents | 79f47841a781 |
| children |
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/requests_toolbelt/sessions.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -import requests - -from ._compat import urljoin - - -class BaseUrlSession(requests.Session): - """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 - """ - - base_url = None - - def __init__(self, base_url=None): - if base_url: - self.base_url = base_url - super(BaseUrlSession, self).__init__() - - def request(self, method, url, *args, **kwargs): - """Send the request after generating the complete URL.""" - url = self.create_url(url) - return super(BaseUrlSession, self).request( - method, url, *args, **kwargs - ) - - def create_url(self, url): - """Create the URL based off this partial path.""" - return urljoin(self.base_url, url)
