""" ASGI config for api 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.0/howto/deployment/asgi/ """ import os from django.core.asgi import get_asgi_application from channels.auth import AuthMiddlewareStack from channels.routing import ProtocolTypeRouter, URLRouter from channels.security.websocket import AllowedHostsOriginValidator import room.routing os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'api.settings') application = get_asgi_application() application = ProtocolTypeRouter({ "http": get_asgi_application(), "websocket": AllowedHostsOriginValidator( AuthMiddlewareStack( URLRouter( room.routing.websocket_urlpatterns ) ) ), # Just HTTP for now. (We can add other protocols later.) })