Loading go-apps/meep-loc-serv/server/loc-serv.go +116 −38 Original line number Diff line number Diff line Loading @@ -105,6 +105,9 @@ var baseKey string var sessionMgr *sm.SessionMgr var mutex sync.Mutex var previousNbUsersInAp int var previousNbUsersInZone int func notImplemented(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json; charset=UTF-8") w.WriteHeader(http.StatusNotImplemented) Loading Loading @@ -345,10 +348,12 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn if zoneStatus.ZoneId == zoneId { nbUsersInAP := -1 nbUsersInZone := -1 zoneWarning := false apWarning := false var err error if nbUsersInZoneStr != "" { nbUsersInZone, err := strconv.Atoi(nbUsersInZoneStr) nbUsersInZone, err = strconv.Atoi(nbUsersInZoneStr) if err != nil { log.Error(err) continue Loading @@ -357,6 +362,14 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn if nbUsersInZone >= zoneStatus.NbUsersInZoneThreshold { zoneWarning = true } //always updates the current number of users if it has changed //only send notification if the number of users has changed from the last time it was sent if previousNbUsersInZone != nbUsersInZone { previousNbUsersInZone = nbUsersInZone } else { zoneWarning = false } } if nbUsersInAPStr != "" { nbUsersInAP, err = strconv.Atoi(nbUsersInAPStr) if err != nil { Loading @@ -367,6 +380,13 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn if nbUsersInAP >= zoneStatus.NbUsersInAPThreshold { apWarning = true } //always updates the current number of users if it has changed //only send notification if the number of users has changed from the last time it was sent if previousNbUsersInAp != nbUsersInAP { previousNbUsersInAp = nbUsersInAP } else { apWarning = false } } if zoneWarning || apWarning { Loading Loading @@ -403,7 +423,6 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn } } } } func checkNotificationRegisteredUsers(oldZoneId string, newZoneId string, oldApId string, newApId string, userId string) { Loading Loading @@ -975,6 +994,16 @@ func userTrackingSubPost(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if userTrackingSub.CallbackReference == nil || userTrackingSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if userTrackingSub.Address == "" { w.WriteHeader(http.StatusBadRequest) return } newSubsId := nextUserSubscriptionIdAvailable nextUserSubscriptionIdAvailable++ subsIdStr := strconv.Itoa(newSubsId) Loading Loading @@ -1017,6 +1046,15 @@ func userTrackingSubPut(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if userTrackingSub.CallbackReference == nil || userTrackingSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if userTrackingSub.Address == "" { w.WriteHeader(http.StatusBadRequest) return } if userTrackingSub.ResourceURL == "" { w.WriteHeader(http.StatusBadRequest) return Loading Loading @@ -1168,6 +1206,16 @@ func zonalTrafficSubPost(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zonalTrafficSub.CallbackReference == nil || zonalTrafficSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zonalTrafficSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } newSubsId := nextZonalSubscriptionIdAvailable nextZonalSubscriptionIdAvailable++ subsIdStr := strconv.Itoa(newSubsId) Loading Loading @@ -1222,6 +1270,15 @@ func zonalTrafficSubPut(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zonalTrafficSub.CallbackReference == nil || zonalTrafficSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zonalTrafficSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } if zonalTrafficSub.ResourceURL == "" { w.WriteHeader(http.StatusBadRequest) return Loading Loading @@ -1374,6 +1431,16 @@ func zoneStatusSubPost(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zoneStatusSub.CallbackReference == nil || zoneStatusSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zoneStatusSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } newSubsId := nextZoneStatusSubscriptionIdAvailable nextZoneStatusSubscriptionIdAvailable++ subsIdStr := strconv.Itoa(newSubsId) Loading Loading @@ -1418,6 +1485,15 @@ func zoneStatusSubPut(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zoneStatusSub.CallbackReference == nil || zoneStatusSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zoneStatusSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } if zoneStatusSub.ResourceURL == "" { w.WriteHeader(http.StatusBadRequest) return Loading Loading @@ -1486,6 +1562,8 @@ func cleanUp() { nextZonalSubscriptionIdAvailable = 1 nextUserSubscriptionIdAvailable = 1 nextZoneStatusSubscriptionIdAvailable = 1 previousNbUsersInAp = 0 previousNbUsersInZone = 0 mutex.Lock() defer mutex.Unlock() Loading Loading
go-apps/meep-loc-serv/server/loc-serv.go +116 −38 Original line number Diff line number Diff line Loading @@ -105,6 +105,9 @@ var baseKey string var sessionMgr *sm.SessionMgr var mutex sync.Mutex var previousNbUsersInAp int var previousNbUsersInZone int func notImplemented(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json; charset=UTF-8") w.WriteHeader(http.StatusNotImplemented) Loading Loading @@ -345,10 +348,12 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn if zoneStatus.ZoneId == zoneId { nbUsersInAP := -1 nbUsersInZone := -1 zoneWarning := false apWarning := false var err error if nbUsersInZoneStr != "" { nbUsersInZone, err := strconv.Atoi(nbUsersInZoneStr) nbUsersInZone, err = strconv.Atoi(nbUsersInZoneStr) if err != nil { log.Error(err) continue Loading @@ -357,6 +362,14 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn if nbUsersInZone >= zoneStatus.NbUsersInZoneThreshold { zoneWarning = true } //always updates the current number of users if it has changed //only send notification if the number of users has changed from the last time it was sent if previousNbUsersInZone != nbUsersInZone { previousNbUsersInZone = nbUsersInZone } else { zoneWarning = false } } if nbUsersInAPStr != "" { nbUsersInAP, err = strconv.Atoi(nbUsersInAPStr) if err != nil { Loading @@ -367,6 +380,13 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn if nbUsersInAP >= zoneStatus.NbUsersInAPThreshold { apWarning = true } //always updates the current number of users if it has changed //only send notification if the number of users has changed from the last time it was sent if previousNbUsersInAp != nbUsersInAP { previousNbUsersInAp = nbUsersInAP } else { apWarning = false } } if zoneWarning || apWarning { Loading Loading @@ -403,7 +423,6 @@ func checkNotificationRegisteredZoneStatus(zoneId string, apId string, nbUsersIn } } } } func checkNotificationRegisteredUsers(oldZoneId string, newZoneId string, oldApId string, newApId string, userId string) { Loading Loading @@ -975,6 +994,16 @@ func userTrackingSubPost(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if userTrackingSub.CallbackReference == nil || userTrackingSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if userTrackingSub.Address == "" { w.WriteHeader(http.StatusBadRequest) return } newSubsId := nextUserSubscriptionIdAvailable nextUserSubscriptionIdAvailable++ subsIdStr := strconv.Itoa(newSubsId) Loading Loading @@ -1017,6 +1046,15 @@ func userTrackingSubPut(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if userTrackingSub.CallbackReference == nil || userTrackingSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if userTrackingSub.Address == "" { w.WriteHeader(http.StatusBadRequest) return } if userTrackingSub.ResourceURL == "" { w.WriteHeader(http.StatusBadRequest) return Loading Loading @@ -1168,6 +1206,16 @@ func zonalTrafficSubPost(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zonalTrafficSub.CallbackReference == nil || zonalTrafficSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zonalTrafficSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } newSubsId := nextZonalSubscriptionIdAvailable nextZonalSubscriptionIdAvailable++ subsIdStr := strconv.Itoa(newSubsId) Loading Loading @@ -1222,6 +1270,15 @@ func zonalTrafficSubPut(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zonalTrafficSub.CallbackReference == nil || zonalTrafficSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zonalTrafficSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } if zonalTrafficSub.ResourceURL == "" { w.WriteHeader(http.StatusBadRequest) return Loading Loading @@ -1374,6 +1431,16 @@ func zoneStatusSubPost(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zoneStatusSub.CallbackReference == nil || zoneStatusSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zoneStatusSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } newSubsId := nextZoneStatusSubscriptionIdAvailable nextZoneStatusSubscriptionIdAvailable++ subsIdStr := strconv.Itoa(newSubsId) Loading Loading @@ -1418,6 +1485,15 @@ func zoneStatusSubPut(w http.ResponseWriter, r *http.Request) { return } //checking for mandatory properties if zoneStatusSub.CallbackReference == nil || zoneStatusSub.CallbackReference.NotifyURL == "" { w.WriteHeader(http.StatusBadRequest) return } if zoneStatusSub.ZoneId == "" { w.WriteHeader(http.StatusBadRequest) return } if zoneStatusSub.ResourceURL == "" { w.WriteHeader(http.StatusBadRequest) return Loading Loading @@ -1486,6 +1562,8 @@ func cleanUp() { nextZonalSubscriptionIdAvailable = 1 nextUserSubscriptionIdAvailable = 1 nextZoneStatusSubscriptionIdAvailable = 1 previousNbUsersInAp = 0 previousNbUsersInZone = 0 mutex.Lock() defer mutex.Unlock() Loading