|
1 | 1 | from rest_framework.authtoken.models import Token
|
2 | 2 | from django.http import HttpResponseForbidden, HttpResponse
|
3 |
| -from swirl.models import Search |
4 | 3 | 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 |
9 | 4 | import json
|
10 | 5 | import yaml
|
11 | 6 | import jwt
|
@@ -59,61 +54,6 @@ def __call__(self, request):
|
59 | 54 | logger.debug(f'SpyglassAuthenticatorsMiddleware - No action')
|
60 | 55 | return self.get_response(request)
|
61 | 56 |
|
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 |
| - |
117 | 57 | class SwaggerMiddleware:
|
118 | 58 | def __init__(self, get_response):
|
119 | 59 | self.get_response = get_response
|
|
0 commit comments