Skip to content

Commit

Permalink
Merge pull request cosmos#434 from celestiaorg/tzdybal/ws_err_handling
Browse files Browse the repository at this point in the history
Improve WebSockets error handling
  • Loading branch information
tzdybal committed Jun 10, 2022
2 parents 3c4318f + ade5622 commit dc1b489
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions rpc/json/ws.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ func (h *handler) wsHandler(w http.ResponseWriter, r *http.Request) {
}

wsc, err := upgrader.Upgrade(w, r, nil)
remoteAddr := wsc.RemoteAddr().String()
if err != nil {
h.logger.Error("failed to update to WebSocket connection", "error", err, "address", remoteAddr)
h.logger.Error("failed to update to WebSocket connection", "error", err)
return
}
remoteAddr := wsc.RemoteAddr().String()
defer func() {
err := wsc.Close()
if err != nil {
Expand All @@ -53,15 +54,17 @@ func (h *handler) wsHandler(w http.ResponseWriter, r *http.Request) {
}()

ws := &wsConn{
conn: wsc,
queue: make(chan []byte),
conn: wsc,
queue: make(chan []byte),
logger: h.logger,
}
go ws.sendLoop()

for {
mt, r, err := wsc.NextReader()
if err != nil {
h.logger.Debug("failed to read next WebSocket message", "error", err)
h.logger.Error("failed to read next WebSocket message", "error", err)
break
}

if mt != websocket.TextMessage {
Expand Down

0 comments on commit dc1b489

Please sign in to comment.