Skip to content

Commit a996cc7

Browse files
committed
Made ws mock server keepalive_timeout_seconds persistent across reconnects
1 parent 9d8c257 commit a996cc7

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

internal/events/websocket/mock_server/client.go

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ type Client struct {
1919
keepAliveChanOpen bool
2020
keepAliveLoopChan chan struct{}
2121
keepAliveTimer *time.Ticker
22+
keepAliveSeconds int
2223
pingChanOpen bool
2324
pingLoopChan chan struct{}
2425
pingTimer *time.Ticker

internal/events/websocket/mock_server/server.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ func (ws *WebSocketServer) WsPageHandler(w http.ResponseWriter, r *http.Request)
7272
connectionUrl: fmt.Sprintf("%v://%v/ws", serverManager.protocolHttp, r.Host),
7373
KeepAliveEnabled: true,
7474
keepAliveChanOpen: false,
75+
keepAliveSeconds: keepalive_seconds,
7576
pingChanOpen: false,
7677
}
7778

@@ -329,6 +330,12 @@ func (ws *WebSocketServer) InitiateRestart() {
329330
reconnectId = reconnectId[:len(reconnectId)-1]
330331
clientConnectionUrl := strings.Replace(client.connectionUrl, "http://", "ws://", -1)
331332
clientConnectionUrl = strings.Replace(clientConnectionUrl, "https://", "wss://", -1)
333+
var reconnecturl string
334+
if client.keepAliveSeconds != KEEPALIVE_TIMEOUT_SECONDS {
335+
reconnecturl = fmt.Sprintf("%v?reconnect_id=%v&keepalive_timeout_seconds=%d", clientConnectionUrl, reconnectId, client.keepAliveSeconds)
336+
} else {
337+
reconnecturl = fmt.Sprintf("%v?reconnect_id=%v", clientConnectionUrl, reconnectId)
338+
}
332339
reconnectMsg, _ := json.Marshal(
333340
ReconnectMessage{
334341
Metadata: MessageMetadata{
@@ -341,7 +348,7 @@ func (ws *WebSocketServer) InitiateRestart() {
341348
ID: sessionId,
342349
Status: "reconnecting",
343350
KeepaliveTimeoutSeconds: nil,
344-
ReconnectUrl: fmt.Sprintf("%v?reconnect_id=%v", clientConnectionUrl, reconnectId),
351+
ReconnectUrl: reconnecturl,
345352
ConnectedAt: client.ConnectedAtTimestamp,
346353
},
347354
},

0 commit comments

Comments
 (0)