Skip to content

Commit a1f43ca

Browse files
authored
Add more logs. (#50)
1 parent a73894a commit a1f43ca

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

worker/index.ts

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -305,20 +305,38 @@ async function handleWebSocketWithDispatcher(
305305

306306
// Handle close events
307307
serverWs.addEventListener('close', (event) => {
308-
containerWs.close(event.code, event.reason);
308+
console.log(`Client WebSocket closed: code=${event.code}, reason=${event.reason || 'none'}`);
309+
if (containerWs.readyState === WebSocket.READY_STATE_OPEN || containerWs.readyState === WebSocket.READY_STATE_CONNECTING) {
310+
containerWs.close(event.code, event.reason);
311+
}
309312
});
310313

311314
containerWs.addEventListener('close', (event) => {
312-
serverWs.close(event.code, event.reason);
315+
console.log(`Container WebSocket closed: code=${event.code}, reason=${event.reason || 'none'}, sessionId=${sessionId}`);
316+
if (serverWs.readyState === WebSocket.READY_STATE_OPEN || serverWs.readyState === WebSocket.READY_STATE_CONNECTING) {
317+
serverWs.close(event.code, event.reason || 'Container connection closed');
318+
}
313319
});
314320

315-
// Handle errors
316-
serverWs.addEventListener('error', () => {
317-
containerWs.close(1011, 'Client WebSocket error');
321+
// Handle errors - these fire when connection fails abnormally
322+
serverWs.addEventListener('error', (event) => {
323+
console.error(`Client WebSocket error, closing both connections, sessionId=${sessionId}`);
324+
if (containerWs.readyState === WebSocket.READY_STATE_OPEN || containerWs.readyState === WebSocket.READY_STATE_CONNECTING) {
325+
containerWs.close(1011, 'Client WebSocket error');
326+
}
327+
if (serverWs.readyState === WebSocket.READY_STATE_OPEN) {
328+
serverWs.close(1011, 'Client WebSocket error');
329+
}
318330
});
319331

320-
containerWs.addEventListener('error', () => {
321-
serverWs.close(1011, 'Container WebSocket error');
332+
containerWs.addEventListener('error', (event) => {
333+
console.error(`Container WebSocket error, closing client connection, sessionId=${sessionId}`);
334+
if (serverWs.readyState === WebSocket.READY_STATE_OPEN || serverWs.readyState === WebSocket.READY_STATE_CONNECTING) {
335+
serverWs.close(1011, 'Container connection error');
336+
}
337+
if (containerWs.readyState === WebSocket.READY_STATE_OPEN) {
338+
containerWs.close(1011, 'Container WebSocket error');
339+
}
322340
});
323341

324342
// Return the client WebSocket

0 commit comments

Comments
 (0)