merge rest api updates
[osm/vim-emu.git] / src / emuvim / api / rest / network.py
index 68256f5..83fbde7 100755 (executable)
@@ -53,6 +53,7 @@ class NetworkAction(Resource):
     :param match: OpenFlow match format of the flow entry
     :param bidirectional: boolean value if the link needs to be implemented from src to dst and back
     :param cookie: cookie value, identifier of the flow entry to be installed.
+    :param priority: integer indicating the priority of the flow entry
     :return: message string indicating if the chain action is succesful or not
     """
 
@@ -74,7 +75,9 @@ class NetworkAction(Resource):
         try:
             # check if json data is a dict
             data = request.json
-            if type(data) is not dict:
+            if data is None:
+                data = {}
+            elif type(data) is not dict:
                 data = json.loads(request.json)
 
             vnf_src_interface = data.get("vnf_src_interface")
@@ -83,6 +86,7 @@ class NetworkAction(Resource):
             match = data.get("match")
             bidirectional = data.get("bidirectional")
             cookie = data.get("cookie")
+            priority = data.get("priority")
             c = net.setChain(
                 vnf_src_name, vnf_dst_name,
                 vnf_src_interface=vnf_src_interface,
@@ -91,7 +95,8 @@ class NetworkAction(Resource):
                 weight=weight,
                 match=match,
                 bidirectional=bidirectional,
-                cookie=cookie)
+                cookie=cookie,
+                priority=priority)
             # return setChain response
             return str(c), 200
         except Exception as ex: