Add HTTPBasicAuth support to REST client 68/62168/2
authorDW Talton <dtalton@contractor.linuxfoundation.org>
Tue, 5 Nov 2019 20:53:51 +0000 (13:53 -0700)
committerDW Talton <dtalton@contractor.linuxfoundation.org>
Mon, 25 Nov 2019 18:43:38 +0000 (11:43 -0700)
Signed-off-by: DW Talton <dtalton@contractor.linuxfoundation.org>
Change-Id: I6467c8aeb2b2f24800ab1912ec6b485693a3378f

lftools/api/client.py

index b552e6d..d42bb52 100644 (file)
@@ -27,20 +27,28 @@ class RestApi(object):
         if 'timeout' not in self.params:
             self.timeout = None
 
+        self.endpoint = self.creds['endpoint']
+
+        if self.creds['authtype'] == 'basic':
+            self.username = self.creds['username']
+            self.password = self.creds['password']
+            self.r = requests.Session()
+            self.r.auth = (self.username, self.password)
+
         if self.creds['authtype'] == 'token':
-            self.endpoint = self.creds['endpoint']
             self.token = self.creds['token']
             self.r = requests.Session()
-            self.r.headers.update({'Authorization': 'Token {}'.format(self.token)})  # NOQA
+            self.r.headers.update({'Authorization': 'Token {}'
+                                   .format(self.token)})
             self.r.headers.update({'Content-Type': 'application/json'})
 
     def _request(self, url, method, data=None, timeout=10):
-        """Execute the requested request."""
-        resp = self.r.request(method, self.endpoint + url, data=data,
-                              timeout=timeout)
+        """Execute the request."""
+        resp = self.r.request(method, self.endpoint + url, data=data, timeout=timeout)
 
         if resp.text:
             try:
+                print(resp.text)
                 if resp.headers['Content-Type'] == 'application/json':
                     body = json.loads(resp.text)
                 else: