Added events decoder helpers.
[src/xds/xds-agent.git] / lib / agent / webserver.go
index ead06d1..13572b4 100644 (file)
@@ -11,6 +11,7 @@ import (
        "github.com/gin-contrib/static"
        "github.com/gin-gonic/gin"
        "github.com/googollee/go-socket.io"
+       "github.com/iotbzh/xds-agent/lib/apiv1"
 )
 
 // WebServer .
@@ -148,11 +149,9 @@ func (s *WebServer) middlewareXDSDetails() gin.HandlerFunc {
        }
 }
 
-/* SEB
 func (s *WebServer) isValidAPIKey(key string) bool {
-       return (key == s.Config.FileConf.XDSAPIKey && key != "")
+       return (s.Config.FileConf.XDSAPIKey != "" && key == s.Config.FileConf.XDSAPIKey)
 }
-*/
 
 func (s *WebServer) middlewareCSRF() gin.HandlerFunc {
        return func(c *gin.Context) {
@@ -229,11 +228,12 @@ func (s *WebServer) socketHandler(c *gin.Context) {
        }
 
        s.sIOServer.On("connection", func(so socketio.Socket) {
-               s.Log.Debugf("WS Connected (SID=%v)", so.Id())
+               s.Log.Debugf("WS Connected (WSID=%s, SID=%s)", so.Id(), sess.ID)
                s.sessions.UpdateIOSocket(sess.ID, &so)
 
                so.On("disconnection", func() {
-                       s.Log.Debugf("WS disconnected (SID=%v)", so.Id())
+                       s.Log.Debugf("WS disconnected (WSID=%s, SID=%s)", so.Id(), sess.ID)
+                       s.events.UnRegister(apiv1.EVTAll, sess.ID)
                        s.sessions.UpdateIOSocket(sess.ID, nil)
                })
        })