diff options
| -rw-r--r-- | internal/handler/websocket/handler.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/internal/handler/websocket/handler.go b/internal/handler/websocket/handler.go index 2d531e9..c285df6 100644 --- a/internal/handler/websocket/handler.go +++ b/internal/handler/websocket/handler.go | |||
| @@ -43,8 +43,8 @@ func (h *Handler) SetIndexData(grpcAddr, httpAddr, wsAddr string) { | |||
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { | 45 | func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { |
| 46 | // Handle GET requests | 46 | // Handle GET requests (but not WebSocket upgrades) |
| 47 | if r.Method == "GET" { | 47 | if r.Method == "GET" && r.Header.Get("Upgrade") != "websocket" { |
| 48 | accept := r.Header.Get("Accept") | 48 | accept := r.Header.Get("Accept") |
| 49 | 49 | ||
| 50 | // NIP-11: Relay information document | 50 | // NIP-11: Relay information document |
| @@ -58,6 +58,7 @@ func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { | |||
| 58 | return | 58 | return |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | // Handle WebSocket upgrade | ||
| 61 | conn, err := websocket.Accept(w, r) | 62 | conn, err := websocket.Accept(w, r) |
| 62 | if err != nil { | 63 | if err != nil { |
| 63 | log.Printf("WebSocket accept failed: %v", err) | 64 | log.Printf("WebSocket accept failed: %v", err) |
