Fix header handler for forwarder
[multicloud/framework.git] / multivimbroker / multivimbroker / api_v2 / api_router / v0_controller.py
index 83b4260..a158c42 100644 (file)
 import logging
 import pecan
 
-from multivimbroker.swagger import utils
 from multivimbroker.pub import exceptions
 from multivimbroker.pub.utils import restcall
 from multivimbroker.pub.utils import syscomm
+from multivimbroker.swagger import utils
 
 
 logger = logging.getLogger(__name__)
@@ -30,6 +30,10 @@ IDENTITY_AUTH_URI = "identity/v3/auth/tokens"
 
 class V0_Controller(object):
 
+    @pecan.expose('json')
+    def vim_types(self):
+        return syscomm.getVIMTypes()
+
     @pecan.expose('json', route="swagger.json")
     def swagger_json(self):
         return utils.get_swagger_json_data()
@@ -82,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