emile 10 months ago
parent 50efce0062
commit 199946bee8

@ -5,19 +5,28 @@ from django.template.loader import render_to_string
from asgiref.sync import async_to_sync
from django.shortcuts import get_object_or_404
import requests
from django.contrib.sessions.models import Session
class OsitcomVisitor(WebsocketConsumer):
def connect(self):
cookie_header = self.scope.get('headers', {})
http_cookie = dict(cookie_header).get(b'cookie', b'').decode('utf-8')
for cookie in http_cookie.split('; '):
key, value = cookie.split('=')
if key == 'sessionid':
self.session_id = value
break
else:
self.session_id = 11
cookie_header = dict(self.scope.get('headers', {})).get(b'cookie', b'').decode('utf-8')
self.session_id = None
if cookie_header:
for cookie in cookie_header.split('; '):
key, value = cookie.split('=', 1)
if key == 'sessionid':
self.session_id = value
break
if not self.session_id:
self.session_id = self.scope.get('session', {}).get('_session_key')
if not self.session_id:
# Handle missing session_id scenario, maybe reject the connection
self.close()
return
async_to_sync(self.channel_layer.group_add)(
'ositcom_visitors', self.channel_name
)

Loading…
Cancel
Save