From e26436f5df6127edd36ac48b82f379a0bdf5cd94 Mon Sep 17 00:00:00 2001 From: biohackerellie Date: Mon, 9 Dec 2024 11:21:29 -0700 Subject: [PATCH] change handler func slightly --- client.go | 48 +++++++++++++++++++++++++----------------------- cmd/main.go | 4 +--- go.mod | 2 +- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/client.go b/client.go index 2f6ce9e..e79d8e4 100644 --- a/client.go +++ b/client.go @@ -37,34 +37,36 @@ var upgrader = websocket.Upgrader{ } // ServeWs handles WebSocket requests from clients. -func ServeWs(hub *Hub, w http.ResponseWriter, r *http.Request) { - conn, err := upgrader.Upgrade(w, r, nil) - if err != nil { - log.Print("Failed to upgrade connection", "err", err) - return - } - conn.SetReadLimit(maxMessageSize) - if err := conn.SetReadDeadline(time.Now().Add(pongWait)); err != nil { - log.Print("Error setting read deadline", "err", err) - } - conn.SetPongHandler(func(string) error { +func ServeWs(hub *Hub) http.HandlerFunc { + return func(w http.ResponseWriter, r *http.Request) { + conn, err := upgrader.Upgrade(w, r, nil) + if err != nil { + log.Print("Failed to upgrade connection", "err", err) + return + } + conn.SetReadLimit(maxMessageSize) if err := conn.SetReadDeadline(time.Now().Add(pongWait)); err != nil { log.Print("Error setting read deadline", "err", err) } - return nil - }) - - client := &Client{ - hub: hub, - conn: conn, - send: make(chan Message, 256), - channels: sync.Map{}, - } + conn.SetPongHandler(func(string) error { + if err := conn.SetReadDeadline(time.Now().Add(pongWait)); err != nil { + log.Print("Error setting read deadline", "err", err) + } + return nil + }) + + client := &Client{ + hub: hub, + conn: conn, + send: make(chan Message, 256), + channels: sync.Map{}, + } - hub.clients.Store(client, true) + hub.clients.Store(client, true) - go client.writePump() - go client.readPump() + go client.writePump() + go client.readPump() + } } // readPump reads messages from the WebSocket connection. diff --git a/cmd/main.go b/cmd/main.go index 75518e3..3771644 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -17,9 +17,7 @@ func main() { // Register routes http.HandleFunc("/trigger", p.HandleTrigger(hub)) - http.HandleFunc("/ws", func(w http.ResponseWriter, r *http.Request) { - p.ServeWs(hub, w, r) - }) + http.HandleFunc("/ws", p.ServeWs(hub)) // Start the server server := &http.Server{ Addr: "0.0.0.0:8945", diff --git a/go.mod b/go.mod index 44910c8..019cc04 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,5 @@ module github.com/biohackerellie/pushpop -go 1.23.3 +go 1.23.4 require github.com/gorilla/websocket v1.5.3