Always define the session adapter

This represents no change of behaviour, but it enables us to set more
options to the adapter.

Signed-off-by: Amador Pahim <apahim@redhat.com>
This commit is contained in:
Amador Pahim
2021-01-08 11:55:36 +00:00
parent 34d097ce47
commit aaec0a0f0f
3 changed files with 38 additions and 8 deletions
+16 -8
View File
@@ -90,11 +90,15 @@ class HTTPSRequestsConnectionClass:
self.timeout = timeout
self.verify = kwargs.get("verify", True)
self.session = requests.Session()
# Code to support retries
if retry:
if retry is None:
self.retry = requests.adapters.DEFAULT_RETRIES
else:
self.retry = retry
self.adapter = requests.adapters.HTTPAdapter(max_retries=self.retry)
self.session.mount("https://", self.adapter)
self.adapter = requests.adapters.HTTPAdapter(
max_retries=self.retry,
)
self.session.mount("https://", self.adapter)
def request(self, verb, url, input, headers):
self.verb = verb
@@ -130,11 +134,15 @@ class HTTPRequestsConnectionClass:
self.timeout = timeout
self.verify = kwargs.get("verify", True)
self.session = requests.Session()
# Code to support retries
if retry:
if retry is None:
self.retry = requests.adapters.DEFAULT_RETRIES
else:
self.retry = retry
self.adapter = requests.adapters.HTTPAdapter(max_retries=self.retry)
self.session.mount("http://", self.adapter)
self.adapter = requests.adapters.HTTPAdapter(
max_retries=self.retry,
)
self.session.mount("http://", self.adapter)
def request(self, verb, url, input, headers):
self.verb = verb
File diff suppressed because one or more lines are too long
+11
View File
@@ -75,3 +75,14 @@ class Retry(Framework.TestCase):
self.assertEqual(len(httpretty.latest_requests), 4)
for request in httpretty.latest_requests:
self.assertEqual(request.path, "/repos/PyGithub/PyGithub")
def testReturnsRepoAfterSettingRetryHttp(self):
g = github.Github(
self.login,
self.password,
base_url="http://my.enterprise.com",
retry=0,
) # http here
repository = g.get_repo(REPO_NAME)
self.assertIsInstance(repository, github.Repository.Repository)
self.assertEqual(repository.full_name, REPO_NAME)