Files
OliveTin/internal/httpservers/websocket.go
T
2023-08-09 21:15:47 +01:00

37 lines
619 B
Go

package httpservers
import (
"time"
log "github.com/sirupsen/logrus"
"net/http"
"nhooyr.io/websocket"
)
func handleWebsocket(w http.ResponseWriter, r *http.Request) {
c, err := websocket.Accept(w, r, nil)
if err != nil {
Log.Warnf("Websocket issue: %v", err)
return
}
defer c.Close(websocket.StatusInternalError, "Goodbye")
ctx, cancel := context.WithTimeout(r.Context(), time.Second*10)
defer cancel()
var v interface{}
err = wsjson.Read(Ctx, c, v)
if err != nil {
Log.Warnf("Websocket issue: %v", err)
return
}
log.Printf("recv: %v", v)
c.Close(websocket.StatusNormalClosure, "")
}