nexus-5/config/asgi.py
2026-01-26 11:09:40 -05:00

24 lines
719 B
Python

import os
import django
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from django.urls import path
from strawberry.channels import GraphQLWSConsumer
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
from core.graphql.schema import schema
from core.middleware import OryWebSocketAuthMiddleware
from core.chat.consumers import ChatConsumer
application = ProtocolTypeRouter({
'http': get_asgi_application(),
'websocket': OryWebSocketAuthMiddleware(
URLRouter([
path('graphql/', GraphQLWSConsumer.as_asgi(schema=schema)),
path('ws/chat/', ChatConsumer.as_asgi()),
])
),
})