Use a requests session to simplify auth'd calls

Instead of passing verify and auth headers to each call, we can
make a session object, store the verify and headers settings on
it and then use it in the methods themselves.

Change-Id: I3d6b937ab77c41c47070e5ab7e22e9154153d1c2
This commit is contained in:
Monty Taylor 2019-07-12 07:54:47 -04:00 committed by Matthieu Huin
parent e1d9df179e
commit 2ba8dae2eb
1 changed files with 7 additions and 12 deletions

View File

@ -40,6 +40,9 @@ class ZuulRESTClient(object):
self.auth_token = auth_token
self.base_url = urllib.parse.urljoin(self.url, '/api/')
self.verify = verify
self.session = requests.Session(
verify=self.verify,
headers={'Authorization': 'Bearer %s' % self.auth_token})
def _check_status(self, req):
try:
@ -65,9 +68,7 @@ class ZuulRESTClient(object):
url = urllib.parse.urljoin(
self.base_url,
'tenant/%s/project/%s/autohold' % (tenant, project))
req = requests.post(
url, json=args, verify=self.verify,
headers={'Authorization': 'Bearer %s' % self.auth_token})
req = self.session.post(url, json=args)
self._check_status(req)
return req.json()
@ -100,9 +101,7 @@ class ZuulRESTClient(object):
url = urllib.parse.urljoin(
self.base_url,
'tenant/%s/project/%s/enqueue' % (tenant, project))
req = requests.post(
url, json=args, verify=self.verify,
headers={'Authorization': 'Bearer %s' % self.auth_token})
req = self.session.post(url, json=args)
self._check_status(req)
return req.json()
@ -118,9 +117,7 @@ class ZuulRESTClient(object):
url = urllib.parse.urljoin(
self.base_url,
'tenant/%s/project/%s/enqueue' % (tenant, project))
req = requests.post(
url, json=args, verify=self.verify,
headers={'Authorization': 'Bearer %s' % self.auth_token})
req = self.session.post(url, json=args)
self._check_status(req)
return req.json()
@ -137,9 +134,7 @@ class ZuulRESTClient(object):
url = urllib.parse.urljoin(
self.base_url,
'tenant/%s/project/%s/dequeue' % (tenant, project))
req = requests.post(
url, json=args, verify=self.verify,
headers={'Authorization': 'Bearer %s' % self.auth_token})
req = self.session.post(url, json=args)
self._check_status(req)
return req.json()