summaryrefslogtreecommitdiffstats
path: root/src/ncm/api
diff options
context:
space:
mode:
authorRajamohan Raj <rajamohan.raj@intel.com>2020-08-26 00:28:12 +0000
committerRajamohan Raj <rajamohan.raj@intel.com>2020-09-10 22:12:17 +0000
commitb2c9f4c61d00bf18e7a253c410479f8124640106 (patch)
treef2c3df18a5cb904f3b57b858cff7d889a36837c6 /src/ncm/api
parent4759e43ff7f29727477b0d928047bf5ca283cef1 (diff)
Adding validations for all JSON data across modules
Issue-ID: MULTICLOUD-1198 Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com> Change-Id: Idc2fbfd6e875bd7b662c7d60925aeb776b3f7bea
Diffstat (limited to 'src/ncm/api')
-rw-r--r--src/ncm/api/networkhandler.go9
-rw-r--r--src/ncm/api/providernethandler.go8
2 files changed, 17 insertions, 0 deletions
diff --git a/src/ncm/api/networkhandler.go b/src/ncm/api/networkhandler.go
index ed266697..6f305be1 100644
--- a/src/ncm/api/networkhandler.go
+++ b/src/ncm/api/networkhandler.go
@@ -30,6 +30,9 @@ import (
"github.com/gorilla/mux"
)
+var vnJSONFile string = "json-schemas/virtual-network.json"
+
+
// Used to store backend implementations objects
// Also simplifies mocking for unit testing purposes
type networkHandler struct {
@@ -86,6 +89,12 @@ func (h networkHandler) createNetworkHandler(w http.ResponseWriter, r *http.Requ
return
}
+ err, httpError := validation.ValidateJsonSchemaData(vnJSONFile, p)
+if err != nil {
+ http.Error(w, err.Error(), httpError)
+ return
+}
+
// Name is required.
if p.Metadata.Name == "" {
http.Error(w, "Missing name in POST request", http.StatusBadRequest)
diff --git a/src/ncm/api/providernethandler.go b/src/ncm/api/providernethandler.go
index 66a41a4d..48d5d7ea 100644
--- a/src/ncm/api/providernethandler.go
+++ b/src/ncm/api/providernethandler.go
@@ -31,6 +31,8 @@ import (
"github.com/gorilla/mux"
)
+var pnetJSONFile string = "json-schemas/provider-network.json"
+
// Used to store backend implementations objects
// Also simplifies mocking for unit testing purposes
type providernetHandler struct {
@@ -139,6 +141,12 @@ func (h providernetHandler) createProviderNetHandler(w http.ResponseWriter, r *h
return
}
+ err, httpError := validation.ValidateJsonSchemaData(pnetJSONFile, p)
+if err != nil {
+ http.Error(w, err.Error(), httpError)
+ return
+}
+
// Name is required.
if p.Metadata.Name == "" {
http.Error(w, "Missing name in POST request", http.StatusBadRequest)