Fix header handler for forwarder 81/40481/1
authorEthan Lynn <ethanlynnl@vmware.com>
Mon, 2 Apr 2018 06:08:49 +0000 (14:08 +0800)
committerEthan Lynn <ethanlynnl@vmware.com>
Mon, 2 Apr 2018 06:22:30 +0000 (14:22 +0800)
This patch fix an error when forwarder got an connection error.

Change-Id: Ide2941a3447582aa282f2b785e9356ad17e9a518
Issue-ID: MULTICLOUD-209
Signed-off-by: Ethan Lynn <ethanlynnl@vmware.com>
multivimbroker/multivimbroker/api_v2/api_router/v0_controller.py
multivimbroker/multivimbroker/forwarder/base.py
multivimbroker/multivimbroker/pub/utils/restcall.py

index 99c1b08..a158c42 100644 (file)
@@ -86,8 +86,8 @@ class V0_Controller(object):
             logger.error("Status code is %s, detail is %s.",
                          status_code, content)
         response = pecan.Response(body=content, status=status_code)
-
-        for k in syscomm.getHeadersKeys(resp):
-            response.headers[k] = resp[k]
+        if retcode == 0:
+            for k in syscomm.getHeadersKeys(resp):
+                response.headers[k] = resp[k]
 
         return response
index 512bb6a..6d45014 100644 (file)
@@ -48,8 +48,9 @@ class BaseHandler(object):
             logger.exception("exception: %s" % e)
 
         response = HttpResponse(content, status=status_code)
-        for k in getHeadersKeys(resp):
-            response[k] = resp[k]
+        if retcode == 0:
+            for k in getHeadersKeys(resp):
+                response[k] = resp[k]
         return response
 
     def _multipart_req(self, route_uri, method, body, headers=None):
index 046d77c..a136353 100644 (file)
@@ -69,7 +69,7 @@ def call_req(base_url, user, passwd, auth_type, resource, method,
 #    logger.debug("[%s]call_req('%s','%s','%s',%s,'%s','%s','%s')" % (
 #    callid, base_url, user, passwd, auth_type, resource, method, content))
     ret = None
-    resp_status = ''
+    resp_status = '500'
     resp = ""
     full_url = ""