mirror of
https://github.com/status-im/PyGithub.git
synced 2026-09-02 11:51:10 +00:00
Add ability to skip SSL verify from requests (#758)
This commit is contained in:
+3
-2
@@ -81,7 +81,7 @@ class Github(object):
|
||||
This is the main class you instantiate to access the Github API v3. Optional parameters allow different authentication methods.
|
||||
"""
|
||||
|
||||
def __init__(self, login_or_token=None, password=None, base_url=DEFAULT_BASE_URL, timeout=DEFAULT_TIMEOUT, client_id=None, client_secret=None, user_agent='PyGithub/Python', per_page=DEFAULT_PER_PAGE, api_preview=False):
|
||||
def __init__(self, login_or_token=None, password=None, base_url=DEFAULT_BASE_URL, timeout=DEFAULT_TIMEOUT, client_id=None, client_secret=None, user_agent='PyGithub/Python', per_page=DEFAULT_PER_PAGE, api_preview=False, verify=True):
|
||||
"""
|
||||
:param login_or_token: string
|
||||
:param password: string
|
||||
@@ -91,6 +91,7 @@ class Github(object):
|
||||
:param client_secret: string
|
||||
:param user_agent: string
|
||||
:param per_page: int
|
||||
:param verify: boolean or string
|
||||
"""
|
||||
|
||||
assert login_or_token is None or isinstance(login_or_token, (str, unicode)), login_or_token
|
||||
@@ -101,7 +102,7 @@ class Github(object):
|
||||
assert client_secret is None or isinstance(client_secret, (str, unicode)), client_secret
|
||||
assert user_agent is None or isinstance(user_agent, (str, unicode)), user_agent
|
||||
assert isinstance(api_preview, (bool))
|
||||
self.__requester = Requester(login_or_token, password, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview)
|
||||
self.__requester = Requester(login_or_token, password, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview, verify)
|
||||
|
||||
def __get_FIX_REPO_GET_GIT_REF(self):
|
||||
"""
|
||||
|
||||
+7
-3
@@ -90,6 +90,7 @@ class HTTPSRequestsConnectionClass(object):
|
||||
self.host = host
|
||||
self.protocol = "https"
|
||||
self.timeout = timeout
|
||||
self.verify = kwargs.get("verify", True)
|
||||
self.session = requests.Session()
|
||||
|
||||
def request(self, verb, url, input, headers):
|
||||
@@ -101,7 +102,7 @@ class HTTPSRequestsConnectionClass(object):
|
||||
def getresponse(self):
|
||||
verb = getattr(self.session, self.verb.lower())
|
||||
url = "%s://%s:%s%s" % (self.protocol, self.host, self.port, self.url)
|
||||
r = verb(url, headers=self.headers, data=self.input, timeout=self.timeout)
|
||||
r = verb(url, headers=self.headers, data=self.input, timeout=self.timeout, verify=self.verify)
|
||||
return RequestsResponse(r)
|
||||
|
||||
def close(self):
|
||||
@@ -115,6 +116,7 @@ class HTTPRequestsConnectionClass(object):
|
||||
self.host = host
|
||||
self.protocol = "http"
|
||||
self.timeout = timeout
|
||||
self.verify = kwargs.get("verify", True)
|
||||
self.session = requests.Session()
|
||||
|
||||
def request(self, verb, url, input, headers):
|
||||
@@ -126,7 +128,7 @@ class HTTPRequestsConnectionClass(object):
|
||||
def getresponse(self):
|
||||
verb = getattr(self.session, self.verb.lower())
|
||||
url = "%s://%s:%s%s" % (self.protocol, self.host, self.port, self.url)
|
||||
r = verb(url, headers=self.headers, data=self.input, timeout=self.timeout)
|
||||
r = verb(url, headers=self.headers, data=self.input, timeout=self.timeout, verify=self.verify)
|
||||
return RequestsResponse(r)
|
||||
|
||||
def close(self):
|
||||
@@ -208,7 +210,7 @@ class Requester:
|
||||
|
||||
#############################################################
|
||||
|
||||
def __init__(self, login_or_token, password, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview):
|
||||
def __init__(self, login_or_token, password, base_url, timeout, client_id, client_secret, user_agent, per_page, api_preview, verify):
|
||||
self._initializeDebugFeature()
|
||||
|
||||
if password is not None:
|
||||
@@ -250,6 +252,7 @@ class Requester:
|
||||
'See http://developer.github.com/v3/#user-agent-required'
|
||||
self.__userAgent = user_agent
|
||||
self.__apiPreview = api_preview
|
||||
self.__verify = verify
|
||||
|
||||
def requestJsonAndCheck(self, verb, url, parameters=None, headers=None, input=None, cnx=None):
|
||||
return self.__check(*self.requestJson(verb, url, parameters, headers, input, cnx))
|
||||
@@ -429,6 +432,7 @@ class Requester:
|
||||
if not atLeastPython3: # pragma no branch (Branch useful only with Python 3)
|
||||
kwds["strict"] = True # Useless in Python3, would generate a deprecation warning
|
||||
kwds["timeout"] = self.__timeout
|
||||
kwds["verify"] = self.__verify
|
||||
|
||||
if self.__persist and self.__connection is not None:
|
||||
return self.__connection
|
||||
|
||||
Reference in New Issue
Block a user