X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Frest%2Fnetwork.py;h=68256f59f650760db0ce0381c39b80a406618446;hb=ff6b404f001a0460252a29051bc34c07c91e4cf1;hp=4a0214f9be05e82ed9e70aa7e1e90c035282ef8d;hpb=73efd195b7d0876b76af6caa7ba27fa5bb43fcb2;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/rest/network.py b/src/emuvim/api/rest/network.py index 4a0214f..68256f5 100755 --- a/src/emuvim/api/rest/network.py +++ b/src/emuvim/api/rest/network.py @@ -1,3 +1,37 @@ +""" +Copyright (c) 2015 SONATA-NFV and Paderborn University +ALL RIGHTS RESERVED. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Neither the name of the SONATA-NFV [, ANY ADDITIONAL AFFILIATION] +nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written +permission. + +This work has been performed in the framework of the SONATA project, +funded by the European Commission under Grant number 671517 through +the Horizon 2020 and 5G-PPP programmes. The authors would like to +acknowledge the contributions of their colleagues of the SONATA +partner consortium (www.sonata-nfv.eu). +""" + +""" +Distributed Cloud Emulator (dcemulator) +Networking and monitoring functions +(c) 2015 by Steven Van Rossem +""" + import logging from flask_restful import Resource from flask import request @@ -38,12 +72,17 @@ class NetworkAction(Resource): # call DCNetwork method, not really datacenter specific API for now... # no check if vnfs are really connected to this datacenter... try: - vnf_src_interface = json.loads(request.json).get("vnf_src_interface") - vnf_dst_interface = json.loads(request.json).get("vnf_dst_interface") - weight = json.loads(request.json).get("weight") - match = json.loads(request.json).get("match") - bidirectional = json.loads(request.json).get("bidirectional") - cookie = json.loads(request.json).get("cookie") + # check if json data is a dict + data = request.json + if type(data) is not dict: + data = json.loads(request.json) + + vnf_src_interface = data.get("vnf_src_interface") + vnf_dst_interface = data.get("vnf_dst_interface") + weight = data.get("weight") + match = data.get("match") + bidirectional = data.get("bidirectional") + cookie = data.get("cookie") c = net.setChain( vnf_src_name, vnf_dst_name, vnf_src_interface=vnf_src_interface,