Fix bug of OpenStack Proxy 23/17823/2
authorBin Yang <bin.yang@windriver.com>
Tue, 10 Oct 2017 10:26:18 +0000 (18:26 +0800)
committerBin Yang <bin.yang@windriver.com>
Tue, 10 Oct 2017 10:26:18 +0000 (18:26 +0800)
Add query back to SBI, add header to claim formats

Change-Id: Ie507c98e7e5c1aa5c97cf451a945621192367c99
Issue-Id: MULTICLOUD-109
Signed-off-by: Bin Yang <bin.yang@windriver.com>
newton/newton/proxy/views/services.py

index b6e1be0..d86b0e8 100644 (file)
@@ -99,17 +99,34 @@ class Services(APIView):
                        'region_id': regionid
             }
 
+            querystr = VimDriverUtils.get_query_part(request)
+            if querystr:
+                req_resource += "?" + querystr
+
             self._logger.debug("service " + action + " request uri %s" % (req_resource))
             if(action == "get"):
-                resp = sess.get(req_resource, endpoint_filter=service)
+                resp = sess.get(req_resource, endpoint_filter=service,
+                                headers={"Content-Type": "application/json",
+                                         "Accept": "application/json"})
             elif(action == "post"):
-                resp = sess.post(req_resource, data=json.JSONEncoder().encode(request.data), endpoint_filter=service)
+                resp = sess.post(req_resource, data=json.JSONEncoder().encode(request.data),
+                                 endpoint_filter=service,
+                                 headers={"Content-Type": "application/json",
+                                          "Accept": "application/json"})
             elif(action == "put"):
-                resp = sess.put(req_resource, data=json.JSONEncoder().encode(request.data), endpoint_filter=service)
+                resp = sess.put(req_resource, data=json.JSONEncoder().encode(request.data),
+                                endpoint_filter=service,
+                                headers={"Content-Type": "application/json",
+                                         "Accept": "application/json"})
             elif(action == "patch"):
-                resp = sess.patch(req_resource, data=json.JSONEncoder().encode(request.data), endpoint_filter=service)
+                resp = sess.patch(req_resource, data=json.JSONEncoder().encode(request.data),
+                                  endpoint_filter=service,
+                                headers={"Content-Type": "application/json",
+                                         "Accept": "application/json"})
             elif (action == "delete"):
-                resp = sess.delete(req_resource, endpoint_filter=service)
+                resp = sess.delete(req_resource, endpoint_filter=service,
+                                headers={"Content-Type": "application/json",
+                                         "Accept": "application/json"})
             content = resp.json() if resp.content else None
             self._logger.debug("service " + action + " response: %s, %s" % (resp.status_code, content))