diff options
author | xuegao <xue.gao@intl.att.com> | 2020-12-18 10:37:23 +0100 |
---|---|---|
committer | Xue Gao <xue.gao@intl.att.com> | 2021-01-19 15:32:33 +0000 |
commit | a856d54c8df7bf3a0212b4c7fd8f18a6a6b91449 (patch) | |
tree | f4a5b2a4ef5cc2865282b108bd2103778d7fb9e3 /catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py | |
parent | 27fa75194efcf77c93b645ef7b412668ac3f5d38 (diff) |
Add basic auth header
Add basic auth header for sdc-backend-init python scripts.
Issue-ID: OJSI-273
Signed-off-by: xuegao <xue.gao@intl.att.com>
Change-Id: I3559d5792509db0f65b202a731545083c7c91c96
Signed-off-by: xuegao <xue.gao@intl.att.com>
Diffstat (limited to 'catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py')
-rwxr-xr-x | catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py b/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py index d9aa260b80..169979ae73 100755 --- a/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py @@ -15,21 +15,22 @@ class SdcBeProxy: BODY_SEPARATOR = "\r\n\r\n" CHARTSET = 'UTF-8' - def __init__(self, be_ip, be_port, scheme, user_id="jh0003", + def __init__(self, be_ip, be_port, header, scheme, user_id="jh0003", debug=False, connector=None): if not check_arguments_not_none(be_ip, be_port, scheme, user_id): raise AttributeError("The be_host, be_port, scheme or admin_user are missing") url = get_url(be_ip, be_port, scheme) self.con = connector if connector \ - else CurlConnector(url, user_id, scheme=scheme, debug=debug) + else CurlConnector(url, user_id, header, scheme=scheme, debug=debug) def check_backend(self): return self.con.get('/sdc2/rest/v1/user/jh0003') def check_user(self, user_name): - return self.con.get("/sdc2/rest/v1/user/" + user_name) + return self.con.get("/sdc2/rest/v1/user" + user_name) def create_user(self, first_name, last_name, user_id, email, role): + return self.con.post('/sdc2/rest/v1/user', json.dumps({ 'firstName': first_name, 'lastName': last_name, @@ -39,10 +40,10 @@ class SdcBeProxy: })) def check_consumer(self, consumer_name): - return self.con.get("/sdc2/rest/v1/consumers/" + consumer_name) + return self.con.get("/sdc2/rest/v1/consumers" + consumer_name) def create_consumer(self, consumer_name, slat, password): - return self.con.post("/sdc2/rest/v1/consumers/", json.dumps({ + return self.con.post("/sdc2/rest/v1/consumers", json.dumps({ 'consumerName': consumer_name, 'consumerSalt': slat, 'consumerPassword': password @@ -67,7 +68,7 @@ class CurlConnector: CONTENT_TYPE_HEADER = "Content-Type: application/json" ACCEPT_HEADER = "Accept: application/json; charset=UTF-8" - def __init__(self, url, user_id_header, buffer=None, scheme="http", debug=False): + def __init__(self, url, user_id_header, header, buffer=None, scheme="http", debug=False): self.c = pycurl.Curl() self.c.setopt(pycurl.HEADER, True) @@ -82,6 +83,11 @@ class CurlConnector: if not buffer: self.buffer = BytesIO() + if header is None: + self.basicauth_header = "" + else: + self.basicauth_header = "Authorization: Basic " + header + self.url = url self._check_schema(scheme) @@ -90,7 +96,9 @@ class CurlConnector: self.c.setopt(pycurl.URL, self.url + path) self.c.setopt(pycurl.HTTPHEADER, [self.user_header, CurlConnector.CONTENT_TYPE_HEADER, - CurlConnector.ACCEPT_HEADER]) + CurlConnector.ACCEPT_HEADER, + self.basicauth_header]) + if with_buffer: write = self.buffer.write if not buffer else buffer.write @@ -105,9 +113,11 @@ class CurlConnector: try: self.c.setopt(pycurl.URL, self.url + path) self.c.setopt(pycurl.POST, 1) + self.c.setopt(pycurl.HTTPHEADER, [self.user_header, - CurlConnector.CONTENT_TYPE_HEADER, - CurlConnector.ACCEPT_HEADER]) + CurlConnector.CONTENT_TYPE_HEADER, + CurlConnector.ACCEPT_HEADER, + self.basicauth_header]) self.c.setopt(pycurl.POSTFIELDS, data) @@ -122,7 +132,9 @@ class CurlConnector: try: self.c.setopt(pycurl.URL, self.url + path) self.c.setopt(pycurl.POST, 1) - self.c.setopt(pycurl.HTTPHEADER, [self.user_header]) + self.c.setopt(pycurl.HTTPHEADER, [self.user_header, + self.basicauth_header]) + self.c.setopt(pycurl.HTTPPOST, post_body) |