diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2012-02-03 12:43:40 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2012-02-03 12:41:10 +0900 |
commit | 9f022847cd8e747ba08b0949f1b89c04d48632b0 (patch) | |
tree | c75401cb00333f7d35d4653c43e86cd3d19ea15e | |
parent | 78e3eba75d3f4c6c0f540d56360a9243df7f5efa (diff) |
rest: add '/network' prefix to its path
Otherwise, no other REST PATH can't be used because any string
is interpreted as network id.
Later /switches PATH will be used.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | ryu/app/client.py | 8 | ||||
-rw-r--r-- | ryu/app/rest.py | 36 |
2 files changed, 24 insertions, 20 deletions
diff --git a/ryu/app/client.py b/ryu/app/client.py index bc1640f4..c2c02a4a 100644 --- a/ryu/app/client.py +++ b/ryu/app/client.py @@ -1,5 +1,5 @@ # Copyright (C) 2011 Nippon Telegraph and Telephone Corporation. -# Copyright (C) 2011 Isaku Yamahata <yamahata at valinux co jp> +# Copyright (C) 2011,2012 Isaku Yamahata <yamahata at valinux co jp> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,9 +20,9 @@ import urlparse class OFPClientV1_0(object): version = 'v1.0' - # /{network_id}/{dpid}_{port} - network_path = '%s' - port_path = '%s/%s_%s' + # /networks/{network_id}/{dpid}_{port} + network_path = 'networks/%s' + port_path = 'networks/%s/%s_%s' def __init__(self, address): r = urlparse.SplitResult('', address, '', '', '') diff --git a/ryu/app/rest.py b/ryu/app/rest.py index 61f255fd..31164242 100644 --- a/ryu/app/rest.py +++ b/ryu/app/rest.py @@ -18,38 +18,39 @@ from ryu.exception import NetworkNotFound, NetworkAlreadyExist from ryu.exception import PortNotFound, PortAlreadyExist from ryu.app.wsapi import WSPathComponent from ryu.app.wsapi import WSPathExtractResult +from ryu.app.wsapi import WSPathStaticString from ryu.app.wsapi import wsapi # REST API # get the list of networks -# GET /v1.0/ +# GET /v1.0/networks/ # # register a new network. # Fail if the network is already registered. -# POST /v1.0/{network-id} +# POST /v1.0/networks/{network-id} # # update a new network. # Success as nop even if the network is already registered. # -# PUT /v1.0/{network-id} +# PUT /v1.0/networks/{network-id} # # remove a network -# DELETE /v1.0/{network-id} +# DELETE /v1.0/networks/{network-id} # # get the list of sets of dpid and port -# GET /v1.0/{network-id}/ +# GET /v1.0/networks/{network-id}/ # # register a new set of dpid and port # Fail if the port is already registered. -# POST /v1.0/{network-id}/{dpid}_{port-id} +# POST /v1.0/networks/{network-id}/{dpid}_{port-id} # # update a new set of dpid and port # Success as nop even if same port already registered -# PUT /v1.0/{network-id}/{dpid}_{port-id} +# PUT /v1.0/networks/{network-id}/{dpid}_{port-id} # # remove a set of dpid and port -# DELETE /v1.0/{network-id}/{dpid}_{port-id} +# DELETE /v1.0/networks/{network-id}/{dpid}_{port-id} # We store networks and ports like the following: # @@ -179,34 +180,37 @@ class restapi: return "" def register(self): + path_networks = (WSPathStaticString('networks'), ) self.api.register_request(self.list_networks_handler, "GET", - [], + path_networks, "get the list of networks") + path_network = path_networks + (WSPathNetwork(), ) self.api.register_request(self.create_network_handler, "POST", - [WSPathNetwork()], + path_network, "register a new network") self.api.register_request(self.update_network_handler, "PUT", - [WSPathNetwork()], + path_network, "update a network") self.api.register_request(self.remove_network_handler, "DELETE", - [WSPathNetwork()], + path_network, "remove a network") self.api.register_request(self.list_ports_handler, "GET", - [WSPathNetwork()], + path_network, "get the list of sets of dpid and port") + path_port = path_network + (WSPathPort(), ) self.api.register_request(self.create_port_handler, "POST", - [WSPathNetwork(), WSPathPort()], + path_port, "register a new set of dpid and port") self.api.register_request(self.update_port_handler, "PUT", - [WSPathNetwork(), WSPathPort()], + path_port, "update a set of dpid and port") self.api.register_request(self.remove_port_handler, "DELETE", - (WSPathNetwork(), WSPathPort()), + path_port, "remove a set of dpid and port") |