requests.config
~~~~~~~~~~~~~~~
-This module provides the Requests settings feature set.
+This module provides the Requests configuration defaults.
settings parameters:
"""
-def merge_configs(config, default_config=None):
- """Merge two given configurations."""
+def get_config(config=None, default_config=None):
+ """Merges two given configurations."""
+
+ # Allow raw calls.
+ if config is None:
+ config=dict()
# Use the module-level defaults, if none is given.
if default_config is None:
- default_config = config.copy()
+ default_config = defaults.copy()
+
d = default_config.copy()
d.update(config)
return d
+
# Module-level defaults.
-config = dict()
-
-config['base_headers'] = {'User-Agent': 'python-requests.org'}
-config['accept_gzip'] = True
-config['proxies'] = {}
-config['verbose'] = None
-config['timeout'] = None
-config['max_redirects'] = 30
-config['decode_unicode'] = True
+defaults = dict()
+
+defaults['base_headers'] = {'User-Agent': 'python-requests.org'}
+defaults['accept_gzip'] = True
+defaults['proxies'] = {}
+defaults['verbose'] = None
+defaults['timeout'] = None
+defaults['max_redirects'] = 30
+defaults['decode_unicode'] = True
+defaults['keepalive'] = True
"""
import urllib
-import urllib2
-import socket
import zlib
from urlparse import urlparse, urlunparse, urljoin
-from datetime import datetime
from .packages import urllib3
# print dir(urllib3)
-from .config import settings
+from .config import get_config
from .structures import CaseInsensitiveDict
from .utils import *
from .status_codes import codes
def __init__(self,
url=None, headers=dict(), files=None, method=None, data=dict(),
params=dict(), auth=None, cookies=None, timeout=None, redirect=False,
- allow_redirects=False, proxies=None):
+ allow_redirects=False, proxies=None, config=None):
#: Float describ the timeout of the request.
# (Use socket.setdefaulttimeout() as fallback)
# Dictionary mapping protocol to the URL of the proxy (e.g. {'http': 'foo.bar:3128'})
self.proxies = proxies
+ self.config = get_config(config)
+
self.data = data
self._enc_data = encode_params(data)
self.params = params