mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
Updated Requests api to accept a 'cert' argument.
This argument can be either a string, containing the path to a pem-formatted key and certificate chain, or a tuple of (cert, key). When supplied a tuple, the values are paths to an SSL certificate chain file and key, respectively.
This commit is contained in:
+1
-2
@@ -33,8 +33,7 @@ def request(method, url, **kwargs):
|
||||
:param config: (optional) A configuration dictionary.
|
||||
:param verify: (optional) if ``True``, the SSL cert will be verified. A CA_BUNDLE path can also be provided.
|
||||
:param prefetch: (optional) if ``True``, the response content will be immediately downloaded.
|
||||
:param key_file: (optional) ssl client key file.
|
||||
:param cert_file: (optional) ssl client cert file.
|
||||
:param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.
|
||||
"""
|
||||
|
||||
s = kwargs.pop('session') if 'session' in kwargs else sessions.session()
|
||||
|
||||
+10
-8
@@ -64,8 +64,7 @@ class Request(object):
|
||||
_poolmanager=None,
|
||||
verify=None,
|
||||
session=None,
|
||||
key_file=None,
|
||||
cert_file=None):
|
||||
cert=None):
|
||||
|
||||
#: Dictionary of configurations for this request.
|
||||
self.config = dict(config or [])
|
||||
@@ -146,8 +145,7 @@ class Request(object):
|
||||
self.verify = verify
|
||||
|
||||
#: SSL Certificate
|
||||
self.key_file = key_file
|
||||
self.cert_file = cert_file
|
||||
self.cert = cert
|
||||
|
||||
if headers:
|
||||
headers = CaseInsensitiveDict(self.headers)
|
||||
@@ -273,7 +271,8 @@ class Request(object):
|
||||
_poolmanager=self._poolmanager,
|
||||
proxies=self.proxies,
|
||||
verify=self.verify,
|
||||
session=self.session
|
||||
session=self.session,
|
||||
cert=self.cert
|
||||
)
|
||||
|
||||
request.send()
|
||||
@@ -513,9 +512,12 @@ class Request(object):
|
||||
conn.cert_reqs = 'CERT_NONE'
|
||||
conn.ca_certs = None
|
||||
|
||||
if self.key_file and self.cert_file:
|
||||
conn.key_file = self.key_file
|
||||
conn.cert_file = self.cert_file
|
||||
if self.cert:
|
||||
if type(self.cert) is tuple:
|
||||
conn.cert_file = self.cert[0]
|
||||
conn.key_file = self.cert[1]
|
||||
else:
|
||||
conn.cert_file = self.cert
|
||||
|
||||
if not self.sent or anyway:
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ class Session(object):
|
||||
|
||||
__attrs__ = [
|
||||
'headers', 'cookies', 'auth', 'timeout', 'proxies', 'hooks',
|
||||
'params', 'config', 'verify']
|
||||
'params', 'config', 'verify', 'cert']
|
||||
|
||||
|
||||
def __init__(self,
|
||||
@@ -78,8 +78,7 @@ class Session(object):
|
||||
config=None,
|
||||
prefetch=False,
|
||||
verify=True,
|
||||
key_file=None,
|
||||
cert_file=None):
|
||||
cert=None):
|
||||
|
||||
self.headers = headers or {}
|
||||
self.cookies = cookies or {}
|
||||
@@ -91,8 +90,7 @@ class Session(object):
|
||||
self.config = config or {}
|
||||
self.prefetch = prefetch
|
||||
self.verify = verify
|
||||
self.key_file = key_file
|
||||
self.cert_file = cert_file
|
||||
self.cert = cert
|
||||
|
||||
for (k, v) in list(defaults.items()):
|
||||
self.config.setdefault(k, v)
|
||||
@@ -136,8 +134,7 @@ class Session(object):
|
||||
config=None,
|
||||
prefetch=False,
|
||||
verify=None,
|
||||
key_file=None,
|
||||
cert_file=None):
|
||||
cert=None):
|
||||
|
||||
"""Constructs and sends a :class:`Request <Request>`.
|
||||
Returns :class:`Response <Response>` object.
|
||||
@@ -157,6 +154,7 @@ class Session(object):
|
||||
:param config: (optional) A configuration dictionary.
|
||||
:param prefetch: (optional) if ``True``, the response content will be immediately downloaded.
|
||||
:param verify: (optional) if ``True``, the SSL cert will be verified. A CA_BUNDLE path can also be provided.
|
||||
:param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.
|
||||
"""
|
||||
|
||||
method = str(method).upper()
|
||||
@@ -194,8 +192,7 @@ class Session(object):
|
||||
proxies=proxies,
|
||||
config=config,
|
||||
verify=verify,
|
||||
key_file=key_file,
|
||||
cert_file=cert_file,
|
||||
cert=cert,
|
||||
_poolmanager=self.poolmanager
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user