'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.'

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
