From 51f32c07507503615101f9b28be5658d944b3397 Mon Sep 17 00:00:00 2001 From: urec56 Date: Fri, 7 Jun 2024 14:59:30 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BC=D0=B8=D0=B4=D0=BB=D0=B2=D0=B0=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chat/websocket.py | 4 ++-- app/users/dependencies.py | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/chat/websocket.py b/app/chat/websocket.py index 157b8e7..18593a1 100644 --- a/app/chat/websocket.py +++ b/app/chat/websocket.py @@ -9,7 +9,7 @@ from app.unit_of_work import UnitOfWork from app.utils.auth import AuthService from app.chat.router import router from app.chat.shemas import SSendMessage, SMessage, SDeleteMessage, SEditMessage, SPinMessage, SUnpinMessage -from app.users.dependencies import get_current_user_ws, get_token, get_subprotocol +from app.users.dependencies import get_current_user_ws, get_token, get_subprotocol_ws from app.users.schemas import SUser @@ -136,7 +136,7 @@ async def websocket_endpoint( chat_id: int, websocket: WebSocket, user: SUser = Depends(get_current_user_ws), - subprotocol: str = Depends(get_subprotocol), + subprotocol: str = Depends(get_subprotocol_ws), uow=Depends(UnitOfWork), ): await AuthService.check_verificated_user_with_exc(uow=uow, user_id=user.id) diff --git a/app/users/dependencies.py b/app/users/dependencies.py index 6cc1635..29a6ca4 100644 --- a/app/users/dependencies.py +++ b/app/users/dependencies.py @@ -54,8 +54,7 @@ async def check_verificated_user_with_exc(user: SUser = Depends(get_current_user def get_token_ws(sec_websocket_protocol: Annotated[str | None, Header()] = None) -> str: if sec_websocket_protocol is None: raise TokenAbsentException - logging.critical(sec_websocket_protocol) - return sec_websocket_protocol + return sec_websocket_protocol.split()[-1] async def get_current_user_ws(token: str = Depends(get_token_ws), uow=Depends(UnitOfWork)): @@ -76,5 +75,8 @@ async def get_current_user_ws(token: str = Depends(get_token_ws), uow=Depends(Un return user -async def get_subprotocol(): - pass + +async def get_subprotocol_ws(sec_websocket_protocol: Annotated[str | None, Header()] = None) -> str: + if sec_websocket_protocol is None: + raise TokenAbsentException + return sec_websocket_protocol.split(",")[0]