'The value of proxy_info is a ProxyInfo instance.
If \'cache\' is a string then it is used as a directory name for
a disk cache. Otherwise it must be an object that supports the
same interface as FileCache.
All timeouts are in seconds. If None is passed for timeout
then Python\'s default timeout for sockets will be used. See
for example the docs of socket.setdefaulttimeout():
http://docs.python.org/library/socket.html#socket.setdefaulttimeout'

def __init__(self, cache=None, timeout=None, proxy_info=None):

    self.proxy_info = proxy_info
    self.connections = {}
    if (cache and isinstance(cache, str)):
        self.cache = FileCache(cache)
    else:
        self.cache = cache
    self.credentials = Credentials()
    self.certificates = KeyCerts()
    self.authorizations = []
    self.follow_redirects = True
    self.optimistic_concurrency_methods = ['PUT']
    self.follow_all_redirects = False
    self.ignore_etag = False
    self.force_exception_to_status_code = False
    self.timeout = timeout
