From 52ed7bfd8d20df3fc33960ed8d5530285155220c Mon Sep 17 00:00:00 2001 From: leandrofars Date: Tue, 6 Feb 2024 00:14:54 -0300 Subject: [PATCH] feat(ws): controller endpoint with auth --- .../services/ws/internal/ws/handler/client.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/backend/services/ws/internal/ws/handler/client.go b/backend/services/ws/internal/ws/handler/client.go index 0e6032f..a79cca4 100644 --- a/backend/services/ws/internal/ws/handler/client.go +++ b/backend/services/ws/internal/ws/handler/client.go @@ -130,8 +130,27 @@ func (c *Client) writePump() { } } +// Handle USP Controller events +func ServeController(w http.ResponseWriter, r *http.Request, token string) { + recv_token := r.URL.Query().Get("token") + if recv_token != token { + w.WriteHeader(http.StatusUnauthorized) + w.Write([]byte("Unauthorized")) + return + } + + _, err := upgrader.Upgrade(w, r, nil) + if err != nil { + log.Println(err) + return + } +} + // Handle USP Agent events func ServeAgent(w http.ResponseWriter, r *http.Request) { + + //TODO: find out a way to authenticate agents + header := http.Header{ "Sec-Websocket-Protocol": {uspVersion}, "Sec-Websocket-Version": {wsVersion},