""" ASGI config for TWB project. It exposes the ASGI callable as a module-level variable named ``application``. For more information on this file, see https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ """ import os from django.core.asgi import get_asgi_application from channels.routing import ProtocolTypeRouter, URLRouter from channels.auth import AuthMiddlewareStack from ChatServiceApp.websocket_urls import websocket_urlpatterns from channels.security.websocket import AllowedHostsOriginValidator from channels.sessions import SessionMiddlewareStack from .ws_middleware import QueryAuthMiddleware os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TWB.settings') application = ProtocolTypeRouter({ 'http': get_asgi_application(), "websocket": # AllowedHostsOriginValidator( QueryAuthMiddleware( URLRouter( websocket_urlpatterns ) # ) ), # 'websocket': AuthMiddlewareStack( # URLRouter( # websocket_urlpatterns # ) # ) # "websocket": AllowedHostsOriginValidator( # SessionMiddlewareStack( # AuthMiddlewareStack( # URLRouter( # websocket_urlpatterns # ) # ) # ) # ), })