const visitors_ws_scheme = window.location.protocol === "https:" ? "wss" : "ws"; const my_domain = "192.168.1.106:8000"; const session_id = document.getElementById('session_id').textContent.trim(); const current_url = document.getElementById('current_url').textContent.trim(); const referrer = document.referrer; const visitorsSocketUrl = `${visitors_ws_scheme}://${my_domain}/ws/osichat/visitors/`; const visitorsSocket = new WebSocket(visitorsSocketUrl); const clientIpUrl = `http://${my_domain}/get-client-ip/`; fetch(clientIpUrl) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { const client_ip = data.ip; visitorsSocket.onopen = () => { console.log('WebSocket connection to visitors established'); const event_message = { 'event_type': 'new_visitor', 'session_id': session_id, 'referrer': referrer, 'url': current_url, 'client_ip': client_ip, }; visitorsSocket.send(JSON.stringify(event_message)); }; visitorsSocket.onclose = () => { console.log('WebSocket connection to visitors closed'); }; visitorsSocket.onerror = (error) => { console.error('WebSocket error:', error); }; }) .catch(error => { console.error('Error fetching client IP:', error); });