Skip to content

Commit e32b3f0

Browse files
authored
Merge pull request #1614 from swirlai/DS-4140_remove_websocket_from_backend
[DS-4140] Remove websocket from backend
2 parents 10fe627 + 3ff2e0c commit e32b3f0

File tree

4 files changed

+2
-161
lines changed

4 files changed

+2
-161
lines changed

DevUtils/nginx/nginx.conf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ server {
1818
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
1919
proxy_set_header X-Forwarded-Proto $scheme;
2020

21-
# WebSocket specific
2221
proxy_http_version 1.1;
2322
proxy_set_header Upgrade $http_upgrade;
2423
proxy_set_header Connection "upgrade";

swirl/consumers.py

Lines changed: 0 additions & 87 deletions
This file was deleted.

swirl/middleware.py

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
from rest_framework.authtoken.models import Token
22
from django.http import HttpResponseForbidden, HttpResponse
3-
from swirl.models import Search
43
from swirl.authenticators import *
5-
from channels.middleware import BaseMiddleware
6-
from channels.db import database_sync_to_async
7-
from urllib.parse import parse_qs
8-
from django.core.exceptions import ObjectDoesNotExist
94
import json
105
import yaml
116
import jwt
@@ -59,61 +54,6 @@ def __call__(self, request):
5954
logger.debug(f'SpyglassAuthenticatorsMiddleware - No action')
6055
return self.get_response(request)
6156

62-
63-
class WebSocketTokenMiddleware(BaseMiddleware):
64-
async def __call__(self, scope, receive, send):
65-
query_string = scope.get("query_string", b"").decode("utf-8")
66-
query_params = parse_qs(query_string)
67-
token_key = query_params.get("token", [""])[0]
68-
rag_query_items = query_params.get("rag_items", [""])[0]
69-
if rag_query_items:
70-
scope['rag_query_items'] = rag_query_items.split(',')
71-
else:
72-
scope['rag_query_items'] = []
73-
74-
### DJANGO TOKEN CHECKING
75-
76-
if token_key:
77-
logger.debug(f'WebSocketTokenMiddleware - Token exists')
78-
user = await self.get_user_from_token(token_key)
79-
if user:
80-
logger.debug(f'WebSocketTokenMiddleware - Token is valid')
81-
scope["user"] = user
82-
print(user.username)
83-
84-
search_id = query_params.get("search_id", [""])[0]
85-
if search_id:
86-
logger.debug(f'WebSocketTokenMiddleware - Search ID exists')
87-
found = await self.get_search_by_id_and_user(search_id, user)
88-
if found:
89-
logger.debug(f'WebSocketTokenMiddleware - Search for current user {user} was found')
90-
scope["search_id"] = search_id
91-
else:
92-
logger.debug(f'WebSocketTokenMiddleware - Search for current user {user} was not found')
93-
else:
94-
logger.debug(f'WebSocketTokenMiddleware - Search ID does not exist')
95-
else:
96-
logger.debug(f'WebSocketTokenMiddleware - Token is not valid')
97-
else:
98-
logger.debug(f'WebSocketTokenMiddleware - Token does not exist')
99-
100-
return await super().__call__(scope, receive, send)
101-
102-
103-
@database_sync_to_async
104-
def get_user_from_token(self, token_key):
105-
try:
106-
return Token.objects.get(key=token_key).user
107-
except Token.DoesNotExist:
108-
return None
109-
110-
@database_sync_to_async
111-
def get_search_by_id_and_user(self, search_id, user):
112-
try:
113-
return Search.objects.filter(pk=search_id, owner=user).exists()
114-
except ObjectDoesNotExist:
115-
return None
116-
11757
class SwaggerMiddleware:
11858
def __init__(self, get_response):
11959
self.get_response = get_response

swirl_server/routing.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,6 @@
1-
from channels.routing import ProtocolTypeRouter, URLRouter
2-
from channels.auth import AuthMiddlewareStack
3-
from swirl.middleware import WebSocketTokenMiddleware # Import the TokenAuthMiddleware
4-
from django.urls import path
1+
from channels.routing import ProtocolTypeRouter
52
from django.core.asgi import get_asgi_application
6-
from swirl.consumers import Consumer
73

84
application = ProtocolTypeRouter({
9-
'http': get_asgi_application(),
10-
'websocket': WebSocketTokenMiddleware(
11-
AuthMiddlewareStack(
12-
URLRouter([
13-
path('chatgpt-data', Consumer.as_asgi()),
14-
])
15-
)
16-
)
5+
'http': get_asgi_application()
176
})

0 commit comments

Comments
 (0)