Unity MSB address 82/110682/2
authordengyh <dengyuanhong@chinamobile.com>
Wed, 29 Jul 2020 09:03:15 +0000 (17:03 +0800)
committerdengyh <dengyuanhong@chinamobile.com>
Wed, 29 Jul 2020 09:13:59 +0000 (17:13 +0800)
Change-Id: Ie1ded953213ed156ff7a1f4d884851ddd93c18e5
Issue-ID: MODELING-405
Signed-off-by: dengyh <dengyuanhong@chinamobile.com>
catalog/packages/biz/notificationsutil.py
catalog/packages/biz/nsdm_subscription.py
catalog/packages/biz/vnf_package.py
catalog/packages/biz/vnf_pkg_subscription.py
catalog/packages/tests/test_nsdm_subscription.py
catalog/packages/tests/test_vnf_pkg_subscription.py
catalog/packages/tests/test_vnfpackage.py
catalog/pub/utils/restcall.py

index 4b8f736..31760cc 100644 (file)
@@ -61,10 +61,7 @@ class NotificationsUtil(object):
             # set subscription id
             notification["subscriptionId"] = sub.get_subscription_id()
             notification['_links']['subscription'] = {
             # set subscription id
             notification["subscriptionId"] = sub.get_subscription_id()
             notification['_links']['subscription'] = {
-                'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                               pub_config.MSB_SERVICE_PORT,
-                                               self.subscription_root_uri,
-                                               notification["subscriptionId"])
+                'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, self.subscription_root_uri, notification["subscriptionId"])
             }
             callbackuri = sub.callback_uri
             """
             }
             callbackuri = sub.callback_uri
             """
@@ -152,10 +149,7 @@ class PkgNotifications(NotificationsUtil):
             'vnfdId': vnfd_id,
             '_links': {
                 'vnfPackage': {
             'vnfdId': vnfd_id,
             '_links': {
                 'vnfPackage': {
-                    'href': 'http://%s:%s/%s/vnf_packages/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                 pub_config.MSB_SERVICE_PORT,
-                                                                 const.PKG_URL_PREFIX,
-                                                                 self.vnf_pkg_id)
+                    'href': '%s/%s/vnf_packages/%s' % (pub_config.MSB_BASE_URL, const.PKG_URL_PREFIX, self.vnf_pkg_id)
                 }
             }
         }
                 }
             }
         }
@@ -198,10 +192,7 @@ class NsdNotifications(NotificationsUtil):
             'nsdId': self.nsd_id,
             '_links': {
                 'nsdInfo': {
             'nsdId': self.nsd_id,
             '_links': {
                 'nsdInfo': {
-                    'href': 'http://%s:%s/%s/ns_descriptors/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                   pub_config.MSB_SERVICE_PORT,
-                                                                   const.NSD_URL_PREFIX,
-                                                                   self.nsd_info_id)
+                    'href': '%s/%s/ns_descriptors/%s' % (pub_config.MSB_BASE_URL, const.NSD_URL_PREFIX, self.nsd_info_id)
                 }
             }
         }
                 }
             }
         }
@@ -241,10 +232,9 @@ class PnfNotifications(NotificationsUtil):
             'pnfdId': self.pnfd_id,
             '_links': {
                 'pnfdInfo': {
             'pnfdId': self.pnfd_id,
             '_links': {
                 'pnfdInfo': {
-                    'href': 'http://%s:%s/%s/pnf_descriptors/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                    pub_config.MSB_SERVICE_PORT,
-                                                                    const.NSD_URL_PREFIX,
-                                                                    self.pnfd_info_id)
+                    'href': '%s/%s/pnf_descriptors/%s' % (pub_config.MSB_BASE_URL,
+                                                          const.NSD_URL_PREFIX,
+                                                          self.pnfd_info_id)
                 }
             }
         }
                 }
             }
         }
index 84bacde..a551c2c 100644 (file)
@@ -26,7 +26,7 @@ from catalog.pub.database.models import NsdmSubscriptionModel
 from catalog.pub.exceptions import CatalogException, \
     NsdmBadRequestException, NsdmDuplicateSubscriptionException, SubscriptionDoesNotExistsException
 from catalog.pub.utils.values import ignore_case_get
 from catalog.pub.exceptions import CatalogException, \
     NsdmBadRequestException, NsdmDuplicateSubscriptionException, SubscriptionDoesNotExistsException
 from catalog.pub.utils.values import ignore_case_get
-from catalog.pub.config.config import MSB_SERVICE_IP, MSB_SERVICE_PORT
+from catalog.pub.config.config import MSB_BASE_URL
 
 logger = logging.getLogger(__name__)
 
 
 logger = logging.getLogger(__name__)
 
@@ -194,7 +194,7 @@ class NsdmSubscription:
                     "Subscription has already existed with the "
                     "same callbackUri and filter:%s" % links)
                 raise NsdmDuplicateSubscriptionException(
                     "Subscription has already existed with the "
                     "same callbackUri and filter:%s" % links)
                 raise NsdmDuplicateSubscriptionException(
-                    "https://%s:%s/%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT, links["self"]["href"]))
+                    "%s/%s" % (MSB_BASE_URL, links["self"]["href"]))
 
     def save_db(self):
         logger.debug("Create Subscription --> Saving the subscription "
 
     def save_db(self):
         logger.debug("Create Subscription --> Saving the subscription "
index 20741a5..e202674 100644 (file)
@@ -24,7 +24,7 @@ import zipfile
 from catalog.packages import const
 from catalog.packages.biz.common import parse_file_range, read, save
 from catalog.packages.biz.notificationsutil import PkgNotifications
 from catalog.packages import const
 from catalog.packages.biz.common import parse_file_range, read, save
 from catalog.packages.biz.notificationsutil import PkgNotifications
-from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_SERVICE_IP, MSB_SERVICE_PORT, MSB_SERVICE_PROTOCOL
+from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_BASE_URL
 from catalog.pub.database.models import VnfPackageModel, NSPackageModel
 from catalog.pub.exceptions import CatalogException, ResourceNotFoundException
 from catalog.pub.utils import fileutil, toscaparser
 from catalog.pub.database.models import VnfPackageModel, NSPackageModel
 from catalog.pub.exceptions import CatalogException, ResourceNotFoundException
 from catalog.pub.utils import fileutil, toscaparser
@@ -279,11 +279,7 @@ def fill_artifacts_data(vnf_pkg_id):
 
 
 def fill_links(pkg_id, is_onboarded=False):
 
 
 def fill_links(pkg_id, is_onboarded=False):
-    self_href = "%s://%s:%s/api/vnfpkgm/v1/vnf_packages/%s" % (
-        MSB_SERVICE_PROTOCOL,
-        MSB_SERVICE_IP,
-        MSB_SERVICE_PORT,
-        pkg_id)
+    self_href = "%s/api/vnfpkgm/v1/vnf_packages/%s" % (MSB_BASE_URL, pkg_id)
     links = {
         "self": {"href": self_href},
         "vnfd": {"href": "%s/%s" % (self_href, "vnfd")},
     links = {
         "self": {"href": self_href},
         "vnfd": {"href": "%s/%s" % (self_href, "vnfd")},
index fef90b4..2b2e245 100644 (file)
@@ -27,7 +27,7 @@ from catalog.pub.database.models import VnfPkgSubscriptionModel
 from catalog.pub.exceptions import VnfPkgSubscriptionException, \
     VnfPkgDuplicateSubscriptionException, SubscriptionDoesNotExistsException
 from catalog.pub.utils.values import ignore_case_get
 from catalog.pub.exceptions import VnfPkgSubscriptionException, \
     VnfPkgDuplicateSubscriptionException, SubscriptionDoesNotExistsException
 from catalog.pub.utils.values import ignore_case_get
-from catalog.pub.config.config import MSB_SERVICE_IP, MSB_SERVICE_PORT
+from catalog.pub.config.config import MSB_BASE_URL
 
 logger = logging.getLogger(__name__)
 
 
 logger = logging.getLogger(__name__)
 
@@ -133,7 +133,7 @@ class CreateSubscription(object):
                 links = json.loads(subscription.links)
                 logger.error("Subscriptions has already exists with the same callbackUri and filter:%s" % links)
                 raise VnfPkgDuplicateSubscriptionException(
                 links = json.loads(subscription.links)
                 logger.error("Subscriptions has already exists with the same callbackUri and filter:%s" % links)
                 raise VnfPkgDuplicateSubscriptionException(
-                    "https://%s:%s/%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT, links["self"]["href"]))
+                    "%s/%s" % (MSB_BASE_URL, links["self"]["href"]))
 
         return True
 
 
         return True
 
index b992b2d..61c8ce6 100644 (file)
@@ -29,7 +29,7 @@ from catalog.pub.config import config as pub_config
 import catalog.pub.utils.timeutil
 from catalog.packages.tests.const import nsd_data
 from catalog.pub.database.models import NSPackageModel, VnfPackageModel, PnfPackageModel
 import catalog.pub.utils.timeutil
 from catalog.packages.tests.const import nsd_data
 from catalog.pub.database.models import NSPackageModel, VnfPackageModel, PnfPackageModel
-from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_SERVICE_IP, MSB_SERVICE_PORT
+from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_BASE_URL
 from catalog.pub.utils import toscaparser
 
 
 from catalog.pub.utils import toscaparser
 
 
@@ -180,8 +180,7 @@ class TestNsdmSubscription(TestCase):
         response = self.client.post("/api/nsd/v1/subscriptions",
                                     data=self.subscription, format='json')
         self.assertEqual(303, response.status_code)
         response = self.client.post("/api/nsd/v1/subscriptions",
                                     data=self.subscription, format='json')
         self.assertEqual(303, response.status_code)
-        redirect_addr = "https://%s:%s/%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT,
-                                              os.path.join(const.NSDM_SUBSCRIPTION_ROOT_URI, subscriptionid))
+        redirect_addr = "%s/%s" % (MSB_BASE_URL, os.path.join(const.NSDM_SUBSCRIPTION_ROOT_URI, subscriptionid))
         self.assertEqual(redirect_addr, response["Location"])
 
     @mock.patch("requests.get")
         self.assertEqual(redirect_addr, response["Location"])
 
     @mock.patch("requests.get")
@@ -627,15 +626,9 @@ class TestNsdmSubscription(TestCase):
             'nsdId': "b632bddc-bccd-4180-bd8d-4e8a9578eff7",
             '_links': {
                 'nsdInfo': {
             'nsdId': "b632bddc-bccd-4180-bd8d-4e8a9578eff7",
             '_links': {
                 'nsdInfo': {
-                    'href': 'http://%s:%s/%s/ns_descriptors/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                   pub_config.MSB_SERVICE_PORT,
-                                                                   const.NSD_URL_PREFIX,
-                                                                   "d0ea5ec3-0b98-438a-9bea-488230cff174")},
+                    'href': '%s/%s/ns_descriptors/%s' % (pub_config.MSB_BASE_URL, const.NSD_URL_PREFIX, "d0ea5ec3-0b98-438a-9bea-488230cff174")},
                 'subscription': {
                 'subscription': {
-                    'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                                   pub_config.MSB_SERVICE_PORT,
-                                                   const.NSDM_SUBSCRIPTION_ROOT_URI,
-                                                   "1111")}
+                    'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.NSDM_SUBSCRIPTION_ROOT_URI, "1111")}
 
             },
             "subscriptionId": "1111"
 
             },
             "subscriptionId": "1111"
@@ -682,16 +675,10 @@ class NotificationTest(TestCase):
             'nsdId': "nsdid1",
             '_links': {
                 'nsdInfo': {
             'nsdId': "nsdid1",
             '_links': {
                 'nsdInfo': {
-                    'href': 'http://%s:%s/%s/ns_descriptors/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                   pub_config.MSB_SERVICE_PORT,
-                                                                   const.NSD_URL_PREFIX,
-                                                                   "nsdinfoid1")
+                    'href': '%s/%s/ns_descriptors/%s' % (pub_config.MSB_BASE_URL, const.NSD_URL_PREFIX, "nsdinfoid1")
                 },
                 'subscription': {
                 },
                 'subscription': {
-                    'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                                   pub_config.MSB_SERVICE_PORT,
-                                                   const.NSDM_SUBSCRIPTION_ROOT_URI,
-                                                   "1")}
+                    'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.NSDM_SUBSCRIPTION_ROOT_URI, "1")}
             },
             'onboardingFailureDetails': "NSD(nsdid1) already exists.",
             "subscriptionId": "1"
             },
             'onboardingFailureDetails': "NSD(nsdid1) already exists.",
             "subscriptionId": "1"
@@ -724,16 +711,10 @@ class NotificationTest(TestCase):
             'pnfdId': "pnfdId1",
             '_links': {
                 'pnfdInfo': {
             'pnfdId': "pnfdId1",
             '_links': {
                 'pnfdInfo': {
-                    'href': 'http://%s:%s/%s/pnf_descriptors/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                    pub_config.MSB_SERVICE_PORT,
-                                                                    const.NSD_URL_PREFIX,
-                                                                    "pnfdInfoIds1")
+                    'href': '%s/%s/pnf_descriptors/%s' % (pub_config.MSB_BASE_URL, const.NSD_URL_PREFIX, "pnfdInfoIds1")
                 },
                 'subscription': {
                 },
                 'subscription': {
-                    'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                                   pub_config.MSB_SERVICE_PORT,
-                                                   const.NSDM_SUBSCRIPTION_ROOT_URI,
-                                                   "1")},
+                    'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.NSDM_SUBSCRIPTION_ROOT_URI, "1")},
             },
             "subscriptionId": "1",
         }
             },
             "subscriptionId": "1",
         }
index 28edd64..f9f6ff2 100644 (file)
@@ -27,7 +27,7 @@ from catalog.packages import const
 from catalog.packages.biz.notificationsutil import PkgNotifications
 from catalog.packages.biz.vnf_pkg_subscription import QuerySubscription, TerminateSubscription
 from catalog.pub.config import config as pub_config
 from catalog.packages.biz.notificationsutil import PkgNotifications
 from catalog.packages.biz.vnf_pkg_subscription import QuerySubscription, TerminateSubscription
 from catalog.pub.config import config as pub_config
-from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_SERVICE_IP, MSB_SERVICE_PORT
+from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_BASE_URL
 from catalog.pub.database.models import VnfPkgSubscriptionModel, VnfPackageModel
 from catalog.pub.exceptions import SubscriptionDoesNotExistsException
 from .const import vnf_subscription_data
 from catalog.pub.database.models import VnfPkgSubscriptionModel, VnfPackageModel
 from catalog.pub.exceptions import SubscriptionDoesNotExistsException
 from .const import vnf_subscription_data
@@ -92,8 +92,7 @@ class TestNfPackageSubscription(TestCase):
             format='json'
         )
         self.assertEqual(303, response.status_code)
             format='json'
         )
         self.assertEqual(303, response.status_code)
-        redirect_addr = "https://%s:%s/%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT,
-                                              os.path.join(const.VNFPKG_SUBSCRIPTION_ROOT_URI, temp_uuid))
+        redirect_addr = "%s/%s" % (MSB_BASE_URL, os.path.join(const.VNFPKG_SUBSCRIPTION_ROOT_URI, temp_uuid))
         self.assertEqual(redirect_addr, response["Location"])
 
     @mock.patch("requests.get")
         self.assertEqual(redirect_addr, response["Location"])
 
     @mock.patch("requests.get")
@@ -260,16 +259,10 @@ class TestNfPackageSubscription(TestCase):
             'vnfdId': uuid_vnfdid,
             '_links': {
                 'vnfPackage': {
             'vnfdId': uuid_vnfdid,
             '_links': {
                 'vnfPackage': {
-                    'href': 'http://%s:%s/%s/vnf_packages/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                 pub_config.MSB_SERVICE_PORT,
-                                                                 const.PKG_URL_PREFIX,
-                                                                 uuid_vnfPackageId)
+                    'href': '%s/%s/vnf_packages/%s' % (pub_config.MSB_BASE_URL, const.PKG_URL_PREFIX, uuid_vnfPackageId)
                 },
                 'subscription': {
                 },
                 'subscription': {
-                    'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                                   pub_config.MSB_SERVICE_PORT,
-                                                   const.VNFPKG_SUBSCRIPTION_ROOT_URI,
-                                                   uuid_subscriptid)}
+                    'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.VNFPKG_SUBSCRIPTION_ROOT_URI, uuid_subscriptid)}
             },
             "subscriptionId": uuid_subscriptid
         }
             },
             "subscriptionId": uuid_subscriptid
         }
@@ -333,16 +326,10 @@ class NotificationTest(TestCase):
             'vnfdId': "vnfdid1",
             '_links': {
                 'vnfPackage': {
             'vnfdId': "vnfdid1",
             '_links': {
                 'vnfPackage': {
-                    'href': 'http://%s:%s/%s/vnf_packages/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                 pub_config.MSB_SERVICE_PORT,
-                                                                 const.PKG_URL_PREFIX,
-                                                                 "vnfpkgid1")
+                    'href': '%s/%s/vnf_packages/%s' % (pub_config.MSB_BASE_URL, const.PKG_URL_PREFIX, "vnfpkgid1")
                 },
                 'subscription': {
                 },
                 'subscription': {
-                    'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                                   pub_config.MSB_SERVICE_PORT,
-                                                   const.VNFPKG_SUBSCRIPTION_ROOT_URI,
-                                                   "1")}
+                    'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.VNFPKG_SUBSCRIPTION_ROOT_URI, "1")}
             },
             'changeType': const.PKG_CHANGE_TYPE.OP_STATE_CHANGE,
             'operationalState': None,
             },
             'changeType': const.PKG_CHANGE_TYPE.OP_STATE_CHANGE,
             'operationalState': None,
index df27212..e4f292c 100644 (file)
@@ -326,15 +326,9 @@ class TestNfPackage(TestCase):
             'vnfdId': "b1bb0ce7-2222-4fa7-95ed-4840d70a1177",
             '_links': {
                 'vnfPackage': {
             'vnfdId': "b1bb0ce7-2222-4fa7-95ed-4840d70a1177",
             '_links': {
                 'vnfPackage': {
-                    'href': 'http://%s:%s/%s/vnf_packages/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                 pub_config.MSB_SERVICE_PORT,
-                                                                 const.PKG_URL_PREFIX,
-                                                                 uuid_csarid)},
+                    'href': '%s/%s/vnf_packages/%s' % (pub_config.MSB_BASE_URL, const.PKG_URL_PREFIX, uuid_csarid)},
                 'subscription': {
                 'subscription': {
-                    'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                                   pub_config.MSB_SERVICE_PORT,
-                                                   const.VNFPKG_SUBSCRIPTION_ROOT_URI,
-                                                   uuid_subscriptid)}
+                    'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.VNFPKG_SUBSCRIPTION_ROOT_URI, uuid_subscriptid)}
 
             },
             "subscriptionId": uuid_subscriptid
 
             },
             "subscriptionId": uuid_subscriptid
@@ -356,15 +350,11 @@ class TestNfPackage(TestCase):
             'vnfdId': "b1bb0ce7-2222-4fa7-95ed-4840d70a1177",
             '_links': {
                 'vnfPackage': {
             'vnfdId': "b1bb0ce7-2222-4fa7-95ed-4840d70a1177",
             '_links': {
                 'vnfPackage': {
-                    'href': 'http://%s:%s/%s/vnf_packages/%s' % (pub_config.MSB_SERVICE_IP,
-                                                                 pub_config.MSB_SERVICE_PORT,
-                                                                 const.PKG_URL_PREFIX,
-                                                                 uuid_csarid)},
+                    'href': '%s/%s/vnf_packages/%s' % (pub_config.MSB_BASE_URL, const.PKG_URL_PREFIX,
+                                                       uuid_csarid)},
                     'subscription': {
                     'subscription': {
-                        'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP,
-                                                       pub_config.MSB_SERVICE_PORT,
-                                                       const.VNFPKG_SUBSCRIPTION_ROOT_URI,
-                                                       uuid_subscriptid)}
+                        'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.VNFPKG_SUBSCRIPTION_ROOT_URI,
+                                             uuid_subscriptid)}
 
             },
             'changeType': const.PKG_CHANGE_TYPE.PKG_DELETE,
 
             },
             'changeType': const.PKG_CHANGE_TYPE.PKG_DELETE,
index 4348c49..4d40068 100644 (file)
@@ -20,7 +20,7 @@ import uuid
 import httplib2
 import base64
 
 import httplib2
 import base64
 
-from catalog.pub.config.config import MSB_SERVICE_IP, MSB_SERVICE_PORT
+from catalog.pub.config.config import MSB_BASE_URL
 
 rest_no_auth, rest_oneway_auth, rest_bothway_auth = 0, 1, 2
 HTTP_200_OK, HTTP_201_CREATED, HTTP_204_NO_CONTENT, HTTP_202_ACCEPTED = '200', '201', '204', '202'
 
 rest_no_auth, rest_oneway_auth, rest_bothway_auth = 0, 1, 2
 HTTP_200_OK, HTTP_201_CREATED, HTTP_204_NO_CONTENT, HTTP_202_ACCEPTED = '200', '201', '204', '202'
@@ -84,13 +84,12 @@ def call_req(base_url, user, passwd, auth_type, resource, method, content='', ad
 
 
 def req_by_msb(resource, method, content=''):
 
 
 def req_by_msb(resource, method, content=''):
-    base_url = "https://%s:%s/" % (MSB_SERVICE_IP, MSB_SERVICE_PORT)
-    return call_req(base_url, "", "", rest_no_auth, resource, method, content)
+    return call_req(MSB_BASE_URL, "", "", rest_no_auth, resource, method, content)
 
 
 def upload_by_msb(resource, method, file_data={}):
     headers = {'Content-Type': 'application/octet-stream'}
 
 
 def upload_by_msb(resource, method, file_data={}):
     headers = {'Content-Type': 'application/octet-stream'}
-    full_url = "https://%s:%s/%s" % (MSB_SERVICE_IP, MSB_SERVICE_PORT, resource)
+    full_url = "%s/%s" % (MSB_BASE_URL, resource)
     http = httplib2.Http()
     resp, resp_content = http.request(full_url, method=method.upper(), body=file_data, headers=headers)
     resp_status, resp_body = resp['status'], resp_content.decode('UTF-8')
     http = httplib2.Http()
     resp, resp_content = http.request(full_url, method=method.upper(), body=file_data, headers=headers)
     resp_status, resp_body = resp['status'], resp_content.decode('UTF-8')