From a8b78a9b0a9ba5d270d7fcab148e8d3068c2835d Mon Sep 17 00:00:00 2001 From: Julien Duponchelle Date: Mon, 14 Nov 2016 13:59:22 +0100 Subject: [PATCH] Fix traceback when sending invalid parameters to the server Fix #783 --- gns3server/handlers/api/controller/node_handler.py | 5 +++-- gns3server/schemas/node.py | 1 + gns3server/schemas/project.py | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gns3server/handlers/api/controller/node_handler.py b/gns3server/handlers/api/controller/node_handler.py index 0a931a62..acd9e19e 100644 --- a/gns3server/handlers/api/controller/node_handler.py +++ b/gns3server/handlers/api/controller/node_handler.py @@ -23,7 +23,8 @@ from gns3server.controller import Controller from gns3server.schemas.node import ( NODE_OBJECT_SCHEMA, - NODE_UPDATE_SCHEMA + NODE_UPDATE_SCHEMA, + NODE_CREATE_SCHEMA ) @@ -42,7 +43,7 @@ class NodeHandler: 400: "Invalid request" }, description="Create a new node instance", - input=NODE_OBJECT_SCHEMA, + input=NODE_CREATE_SCHEMA, output=NODE_OBJECT_SCHEMA) def create(request, response): diff --git a/gns3server/schemas/node.py b/gns3server/schemas/node.py index ed350ff6..12c342b1 100644 --- a/gns3server/schemas/node.py +++ b/gns3server/schemas/node.py @@ -233,5 +233,6 @@ NODE_OBJECT_SCHEMA = { "required": ["name", "node_type", "compute_id"] } +NODE_CREATE_SCHEMA = NODE_OBJECT_SCHEMA NODE_UPDATE_SCHEMA = NODE_OBJECT_SCHEMA del NODE_UPDATE_SCHEMA["required"] diff --git a/gns3server/schemas/project.py b/gns3server/schemas/project.py index d103539a..71118ee7 100644 --- a/gns3server/schemas/project.py +++ b/gns3server/schemas/project.py @@ -52,6 +52,7 @@ PROJECT_CREATE_SCHEMA = { } }, "additionalProperties": False, + "required": ["name"] } PROJECT_UPDATE_SCHEMA = {