Loading go-apps/meep-tm/server/bwm/bwm.go +62 −0 Original line number Diff line number Diff line Loading @@ -806,6 +806,24 @@ func bandwidthAllocationPatch(w http.ResponseWriter, r *http.Request) { newSessionFilter = append(newSessionFilter, BwInfoSessionFilter(filter)) } newBwInfo.SessionFilter = newSessionFilter if *bwInfoDeltaInput.RequestType == 1 { if len(bwInfoDeltaInput.SessionFilter) >= 0 { sessionSlice := make([]BwInfoSessionFilter, 0) for index, singleSessionFilter := range newBwInfo.SessionFilter { if index == 0 { sessionSlice = append(sessionSlice, singleSessionFilter) } else { sessionSlice, err = sessionContains(sessionSlice, singleSessionFilter) if err != nil { errHandlerProblemDetails(w, "err.Error()", http.StatusBadRequest) return } } } } } err = validateUpdateRequestType(&newBwInfo, &bwInfoStored, w) if err != nil { log.Error(err.Error()) Loading Loading @@ -935,6 +953,19 @@ func bandwidthAllocationPost(w http.ResponseWriter, r *http.Request) { log.Error("sessionFilter attribute is Missing.") errHandlerProblemDetails(w, "sessionFilter attribute is Missing.", http.StatusBadRequest) return } else { sessionSlice := make([]BwInfoSessionFilter, 0) for index, singleSessionFilter := range bwInfo.SessionFilter { if index == 0 { sessionSlice = append(sessionSlice, singleSessionFilter) } else { sessionSlice, err = sessionContains(sessionSlice, singleSessionFilter) if err != nil { errHandlerProblemDetails(w, "err.Error()", http.StatusBadRequest) return } } } } } Loading Loading @@ -1295,6 +1326,25 @@ func bandwidthAllocationPut(w http.ResponseWriter, r *http.Request) { // validate the requested changes in Request Type (session/application specific) if bwInfoInput.RequestType != nil { if (*bwInfoInput.RequestType == 0) || (*bwInfoInput.RequestType == 1) { if *bwInfoInput.RequestType == 1 { if len(bwInfoInput.SessionFilter) > 0 { sessionSlice := make([]BwInfoSessionFilter, 0) for index, singleSessionFilter := range bwInfoInput.SessionFilter { if index == 0 { sessionSlice = append(sessionSlice, singleSessionFilter) } else { sessionSlice, err = sessionContains(sessionSlice, singleSessionFilter) if err != nil { errHandlerProblemDetails(w, "err.Error()", http.StatusBadRequest) return } } } } } err = validateUpdateRequestType(&bwInfoInput, &bwInfoStored, w) if err != nil { log.Error(err.Error()) Loading Loading @@ -2063,3 +2113,15 @@ func addBwBufferResource(bwInfoInput *BwInfo, w http.ResponseWriter) error { } return nil } func sessionContains(sessionSlice []BwInfoSessionFilter, singleSessionFilter BwInfoSessionFilter) ([]BwInfoSessionFilter, error) { for _, sessionSlice1 := range sessionSlice { if reflect.DeepEqual(singleSessionFilter, sessionSlice1) { err := errors.New("SessionFilter contains same sessions") return nil, err } else { sessionSlice = append(sessionSlice, singleSessionFilter) } } return sessionSlice, nil } Loading
go-apps/meep-tm/server/bwm/bwm.go +62 −0 Original line number Diff line number Diff line Loading @@ -806,6 +806,24 @@ func bandwidthAllocationPatch(w http.ResponseWriter, r *http.Request) { newSessionFilter = append(newSessionFilter, BwInfoSessionFilter(filter)) } newBwInfo.SessionFilter = newSessionFilter if *bwInfoDeltaInput.RequestType == 1 { if len(bwInfoDeltaInput.SessionFilter) >= 0 { sessionSlice := make([]BwInfoSessionFilter, 0) for index, singleSessionFilter := range newBwInfo.SessionFilter { if index == 0 { sessionSlice = append(sessionSlice, singleSessionFilter) } else { sessionSlice, err = sessionContains(sessionSlice, singleSessionFilter) if err != nil { errHandlerProblemDetails(w, "err.Error()", http.StatusBadRequest) return } } } } } err = validateUpdateRequestType(&newBwInfo, &bwInfoStored, w) if err != nil { log.Error(err.Error()) Loading Loading @@ -935,6 +953,19 @@ func bandwidthAllocationPost(w http.ResponseWriter, r *http.Request) { log.Error("sessionFilter attribute is Missing.") errHandlerProblemDetails(w, "sessionFilter attribute is Missing.", http.StatusBadRequest) return } else { sessionSlice := make([]BwInfoSessionFilter, 0) for index, singleSessionFilter := range bwInfo.SessionFilter { if index == 0 { sessionSlice = append(sessionSlice, singleSessionFilter) } else { sessionSlice, err = sessionContains(sessionSlice, singleSessionFilter) if err != nil { errHandlerProblemDetails(w, "err.Error()", http.StatusBadRequest) return } } } } } Loading Loading @@ -1295,6 +1326,25 @@ func bandwidthAllocationPut(w http.ResponseWriter, r *http.Request) { // validate the requested changes in Request Type (session/application specific) if bwInfoInput.RequestType != nil { if (*bwInfoInput.RequestType == 0) || (*bwInfoInput.RequestType == 1) { if *bwInfoInput.RequestType == 1 { if len(bwInfoInput.SessionFilter) > 0 { sessionSlice := make([]BwInfoSessionFilter, 0) for index, singleSessionFilter := range bwInfoInput.SessionFilter { if index == 0 { sessionSlice = append(sessionSlice, singleSessionFilter) } else { sessionSlice, err = sessionContains(sessionSlice, singleSessionFilter) if err != nil { errHandlerProblemDetails(w, "err.Error()", http.StatusBadRequest) return } } } } } err = validateUpdateRequestType(&bwInfoInput, &bwInfoStored, w) if err != nil { log.Error(err.Error()) Loading Loading @@ -2063,3 +2113,15 @@ func addBwBufferResource(bwInfoInput *BwInfo, w http.ResponseWriter) error { } return nil } func sessionContains(sessionSlice []BwInfoSessionFilter, singleSessionFilter BwInfoSessionFilter) ([]BwInfoSessionFilter, error) { for _, sessionSlice1 := range sessionSlice { if reflect.DeepEqual(singleSessionFilter, sessionSlice1) { err := errors.New("SessionFilter contains same sessions") return nil, err } else { sessionSlice = append(sessionSlice, singleSessionFilter) } } return sessionSlice, nil }