"""
from .compat import cookielib
-from .cookies import cookiejar_from_dict, remove_cookie_by_name
+from .cookies import cookiejar_from_dict
from .models import Request
from .hooks import dispatch_hook, default_hooks
-from .utils import header_expand, from_key_val_list, default_headers
+from .utils import from_key_val_list, default_headers
from .exceptions import TooManyRedirects, InvalidSchema
from .compat import urlparse, urljoin
for attr, value in state.items():
setattr(self, attr, value)
- self.init_poolmanager()
-
def session(**kwargs):
"""Returns a :class:`Session` for context-management."""
return value
-def header_expand(headers):
- """Returns an HTTP Header value string from a dictionary.
-
- Example expansion::
-
- {'text/x-dvi': {'q': '.8', 'mxb': '100000', 'mxt': '5.0'}, 'text/x-c': {}}
- # Accept: text/x-dvi; q=.8; mxb=100000; mxt=5.0, text/x-c
-
- (('text/x-dvi', {'q': '.8', 'mxb': '100000', 'mxt': '5.0'}), ('text/x-c', {}))
- # Accept: text/x-dvi; q=.8; mxb=100000; mxt=5.0, text/x-c
- """
-
- collector = []
-
- if isinstance(headers, dict):
- headers = list(headers.items())
- elif isinstance(headers, basestring):
- return headers
- elif isinstance(headers, str):
- # As discussed in https://github.com/kennethreitz/requests/issues/400
- # latin-1 is the most conservative encoding used on the web. Anyone
- # who needs more can encode to a byte-string before calling
- return headers.encode("latin-1")
- elif headers is None:
- return headers
-
- for i, (value, params) in enumerate(headers):
-
- _params = []
-
- for (p_k, p_v) in list(params.items()):
-
- _params.append('%s=%s' % (p_k, p_v))
-
- collector.append(value)
- collector.append('; ')
-
- if len(params):
-
- collector.append('; '.join(_params))
-
- if not len(headers) == i + 1:
- collector.append(', ')
-
- # Remove trailing separators.
- if collector[-1] in (', ', '; '):
- del collector[-1]
-
- return ''.join(collector)
-
def dict_from_cookiejar(cj):
"""Returns a key/value dictionary from a CookieJar.
def stream_decompress(iterator, mode='gzip'):
- """
- Stream decodes an iterator over compressed data
+ """Stream decodes an iterator over compressed data
:param iterator: An iterator over compressed data
:param mode: 'gzip' or 'deflate'