Commit 44233cd4 authored by M. Hamza's avatar M. Hamza
Browse files

fix validation of attributes in MTS Post method

parent d258ad92
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -1061,6 +1061,13 @@ func mtsSessionPut(w http.ResponseWriter, r *http.Request) {
			errHandlerProblemDetails(w, "flowFilter shall be present if requestType is 1 in the request body.", http.StatusBadRequest)
			return
		}

		if *requestBodyPut.RequestType == 1 && len(requestBodyPut.FlowFilter) == 0 {
			log.Error("flowFilter shall be present if requestType is 1")
			errHandlerProblemDetails(w, "flowFilter shall be present if requestType is 1 in the request body.", http.StatusBadRequest)
			return
		}

	} else {
		log.Error("Mandatory requestType parameter should be present")
		errHandlerProblemDetails(w, "Mandatory attribute requestType is missing in the request body.", http.StatusBadRequest)
@@ -1069,7 +1076,7 @@ func mtsSessionPut(w http.ResponseWriter, r *http.Request) {

	if *requestBodyPut.RequestType == 1 && requestBodyPut.FlowFilter != nil {
		for _, flowFilterVal := range requestBodyPut.FlowFilter {
			if flowFilterVal.SourceIp == "" && flowFilterVal.SourcePort == nil && flowFilterVal.DstIp == "" && flowFilterVal.DstPort == nil && flowFilterVal.Protocol == nil && flowFilterVal.Dscp == nil && flowFilterVal.Flowlabel == nil {
			if flowFilterVal.SourceIp == "" && len(*flowFilterVal.SourcePort) == 0 && flowFilterVal.DstIp == "" && len(*flowFilterVal.DstPort) == 0 && flowFilterVal.Protocol == nil && flowFilterVal.Dscp == nil && flowFilterVal.Flowlabel == nil {
				log.Error("At least one of flowFilter subfields shall be included")
				errHandlerProblemDetails(w, "At least one of flowFilter subfields shall be included in the request body.", http.StatusBadRequest)
				return