34 lines
928 B
Python
34 lines
928 B
Python
|
# blog/asgi.py
|
||
|
import os
|
||
|
import django
|
||
|
|
||
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
|
||
|
from django.conf import settings
|
||
|
|
||
|
django.setup()
|
||
|
from django.core.asgi import get_asgi_application
|
||
|
from channels.security.websocket import OriginValidator
|
||
|
from channels.auth import AuthMiddlewareStack
|
||
|
from channels.routing import ProtocolTypeRouter, URLRouter
|
||
|
from django.urls import re_path
|
||
|
from app.website.consumers import BlogConsumer
|
||
|
|
||
|
|
||
|
application = ProtocolTypeRouter(
|
||
|
{
|
||
|
# Django's ASGI application to handle traditional HTTP requests
|
||
|
"http": get_asgi_application(),
|
||
|
# WebSocket handler
|
||
|
"websocket": OriginValidator(
|
||
|
AuthMiddlewareStack(
|
||
|
URLRouter(
|
||
|
[
|
||
|
re_path(r"^ws/blog/$", BlogConsumer.as_asgi()),
|
||
|
]
|
||
|
)
|
||
|
),
|
||
|
settings.ALLOWED_HOSTS,
|
||
|
),
|
||
|
}
|
||
|
)
|