(reason)
| 1407 | } |
| 1408 | }); |
| 1409 | |
| 1410 | ws.on('close', () => { |
| 1411 | console.log('WebSocket client disconnected'); |
| 1412 | wsClients.delete(ws); |
| 1413 | }); |
| 1414 | |
| 1415 | ws.on('error', (error) => { |
| 1416 | console.error('WebSocket error:', error); |
| 1417 | wsClients.delete(ws); |
| 1418 | }); |
| 1419 | }); |
| 1420 | |
| 1421 | // Broadcast events to all WebSocket clients |
| 1422 | function broadcastEvent(channel, ...args) { |
| 1423 | const message = JSON.stringify({ |
| 1424 | type: 'event', |
| 1425 | channel, |
| 1426 | args |
| 1427 | }); |
| 1428 | wsClients.forEach(client => { |
| 1429 | if (client.readyState === WebSocket.OPEN) { |
| 1430 | try { |
no test coverage detected