Изменения вебсокета
This commit is contained in:
parent
b8c77bfae7
commit
c945b8a904
2 changed files with 7 additions and 11 deletions
|
@ -1,8 +1,7 @@
|
|||
import logging
|
||||
from typing import Annotated
|
||||
|
||||
import websockets
|
||||
from fastapi import WebSocket, WebSocketDisconnect, Depends, Header
|
||||
from fastapi import WebSocket, WebSocketDisconnect, Depends
|
||||
|
||||
from app.exceptions import IncorrectDataException, UserDontHavePermissionException
|
||||
from app.services.message_service import MessageService
|
||||
|
@ -136,15 +135,12 @@ manager = ConnectionManager()
|
|||
async def websocket_endpoint(
|
||||
chat_id: int,
|
||||
websocket: WebSocket,
|
||||
sec_websocket_protocol: Annotated[str | None, Header()] = None,
|
||||
# user: SUser = Depends(get_current_user_ws),
|
||||
user: SUser = Depends(get_current_user_ws),
|
||||
uow=Depends(UnitOfWork)
|
||||
):
|
||||
# await AuthService.check_verificated_user_with_exc(uow=uow, user_id=user.id)
|
||||
# await AuthService.validate_user_access_to_chat(uow=uow, user_id=user.id, chat_id=chat_id)
|
||||
await AuthService.check_verificated_user_with_exc(uow=uow, user_id=user.id)
|
||||
await AuthService.validate_user_access_to_chat(uow=uow, user_id=user.id, chat_id=chat_id)
|
||||
await manager.connect(chat_id, websocket)
|
||||
logging.critical(sec_websocket_protocol)
|
||||
await websocket.send_json({"headers": str(websocket.headers), "authorization": sec_websocket_protocol})
|
||||
try:
|
||||
while True:
|
||||
data = await websocket.receive_json()
|
||||
|
|
|
@ -50,10 +50,10 @@ async def check_verificated_user_with_exc(user: SUser = Depends(get_current_user
|
|||
return user
|
||||
|
||||
|
||||
def get_token_ws(authorization: Annotated[str | None, Header()] = None) -> str:
|
||||
if authorization is None:
|
||||
def get_token_ws(sec_websocket_protocol: Annotated[str | None, Header()] = None,) -> str:
|
||||
if sec_websocket_protocol is None:
|
||||
raise TokenAbsentException
|
||||
return authorization.split()[1]
|
||||
return sec_websocket_protocol.split()[1]
|
||||
|
||||
|
||||
async def get_current_user_ws(token: str = Depends(get_token_ws), uow=Depends(UnitOfWork)):
|
||||
|
|
Loading…
Add table
Reference in a new issue