Skip to content

Commit 3dfd89e

Browse files
committed
forward pong messages, #510.
1 parent 0765352 commit 3dfd89e

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

server/internal/http/legacy/handler.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ func (h *LegacyHandler) Route(r types.Router) {
149149
dst.WriteMessage(websocket.CloseMessage, m)
150150
break
151151
}
152+
153+
// handle text messages
152154
if msgType == websocket.TextMessage {
153155
err = rewriteTextMessage(msg)
154156

@@ -165,20 +167,26 @@ func (h *LegacyHandler) Route(r types.Router) {
165167
Message: strings.ReplaceAll(err.Error(), ErrBackendRespone.Error()+": ", ""),
166168
})
167169
continue
168-
} else if errors.Is(err, ErrWebsocketSend) {
170+
}
171+
172+
if errors.Is(err, ErrWebsocketSend) {
169173
errc <- fmt.Errorf("dst write message error: %w", err)
170174
break
171-
} else {
172-
h.logger.Error().Err(err).Msg("couldn't rewrite text message")
173175
}
176+
177+
h.logger.Error().Err(err).Msg("couldn't rewrite text message")
178+
continue
174179
}
175-
// forward ping messages
176-
if msgType == websocket.PingMessage {
177-
err = dst.WriteMessage(websocket.PingMessage, nil)
180+
181+
// forward ping pong messages
182+
if msgType == websocket.PingMessage ||
183+
msgType == websocket.PongMessage {
184+
err = dst.WriteMessage(msgType, msg)
178185
if err != nil {
179186
errc <- err
180187
break
181188
}
189+
continue
182190
}
183191
}
184192
}

0 commit comments

Comments
 (0)