const WebSocket = require('ws'); const headers = { 'apikey': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhbm9uIiwicm9sZSI6ImFub24iLCJpc3MiOiJtYWRiYXNlIiwiaWF0IjoxNzczNjk0OTEwLCJleHAiOjE3NzQyOTk3MTB9.kiDrLssL7YrvQdiOvhbH6qsvcO_O2cc4v6i5s2zN3wM' }; const ws = new WebSocket('ws://localhost:8002/realtime/v1/websocket', { headers }); ws.on('open', () => { console.log('WebSocket connected'); ws.send(JSON.stringify(['1', '1', 'public:todos', 'phx_join', {}])); }); ws.on('message', (data) => { console.log('Received message:', data.toString()); }); ws.on('error', (error) => { console.error('WebSocket error:', error); }); ws.on('close', (code, reason) => { console.log('WebSocket closed:', code, reason.toString()); }); setTimeout(() => { if (ws.readyState === WebSocket.OPEN) { ws.close(); } else { console.error('WebSocket did not connect within 5 seconds'); process.exit(1); } }, 5000);