defaults['verbose'] = None
defaults['max_redirects'] = 30
defaults['decode_unicode'] = True
-defaults['keep_alive'] = True
defaults['pool_connections'] = 10
-defaults['pool_maxsize'] = 1
+defaults['pool_maxsize'] = 10
defaults['max_retries'] = 0
defaults['safe_mode'] = False
+defaults['keep_alive'] = True
proxies=None,
hooks=None,
params=None,
- config=None,
- keep_alive=True):
+ config=None):
self.headers = headers or {}
self.cookies = cookies or {}
self.hooks = hooks or {}
self.params = params or {}
self.config = config or {}
- self.keep_alive = keep_alive
for (k, v) in defaults.items():
self.config.setdefault(k, v)
method = str(method).upper()
- if cookies is None:
- cookies = {}
+ # Default empty dicts for dict params.
+ cookies = {} if cookies is None else cookies
+ data = {} if data is None else data
+ files = {} if files is None else files
+ headers = {} if headers is None else headers
+ params = {} if params is None else params
# Expand header values
if headers:
return self.request('HEAD', url, **kwargs)
- def post(self, url, data='', **kwargs):
+ def post(self, url, data=None, **kwargs):
"""Sends a POST request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
return self.request('post', url, data=data, **kwargs)
- def put(self, url, data='', **kwargs):
+ def put(self, url, data=None, **kwargs):
"""Sends a PUT request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
return self.request('put', url, data=data, **kwargs)
- def patch(self, url, data='', **kwargs):
+ def patch(self, url, data=None, **kwargs):
"""Sends a PATCH request. Returns :class:`Response` object.
:param url: URL for the new :class:`Request` object.
:param **kwargs: Optional arguments that ``request`` takes.
"""
- return self.request('patch', url, data='', **kwargs)
+ return self.request('patch', url, data=data, **kwargs)
def delete(self, url, **kwargs):