package server import ( "context" "dynatron.me/x/blasphem/pkg/wsapi" "github.com/gorilla/websocket" "github.com/labstack/echo/v4" "github.com/rs/zerolog/log" ) var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } func (s *Server) wsHandler(c echo.Context) error { conn, err := upgrader.Upgrade(c.Response(), c.Request(), nil) if err != nil { return err } defer conn.Close() _ = log.Debug ctx, cancel := context.WithCancel(c.Request().Context()) defer cancel() return wsapi.NewSession(s, c, conn).Go(ctx) }