РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
161 of 307 menu

Статус WS_1008_POLICY_VIOLATION

Статус WS_1008_POLICY_VIOLATION представляет собой константу кода закрытия WebSocket-соединения. Она применяется в обработчиках WebSocket для информирования клиента о том, что соединение закрывается из-за нарушения установленной политики сервера. Чаще всего статус используется при неудачной аутентификации, отсутствии прав или при получении недопустимых данных.

Константа доступна из модуля fastapi.status и имеет числовое значение 1008. Передаётся она в метод close объекта WebSocket вместе с необязательным пояснительным сообщением.

Синтаксис

from fastapi import status status.WS_1008_POLICY_VIOLATION

Пример

Давайте создадим WebSocket-маршрут, который закрывает соединение со статусом WS_1008_POLICY_VIOLATION при неверном токене:

from fastapi import FastAPI, WebSocket from fastapi import status app = FastAPI() @app.websocket('/ws') async def websocket_endpoint(websocket: WebSocket): await websocket.accept() token = await websocket.receive_text() if token != 'abcde': await websocket.close( code=status.WS_1008_POLICY_VIOLATION, reason='invalid token' ) return await websocket.send_text('hello')

При подключении клиента к адресу /ws и отправке строки 'wrong' сервер закроет соединение с кодом 1008 и причиной 'invalid token'. Клиент получит соответствующее уведомление о нарушении политики.

Пример

Давайте проверим числовое значение константы:

from fastapi import status print(status.WS_1008_POLICY_VIOLATION)

Результат выполнения кода:

1008

Пример

Давайте закроем соединение без указания причины:

from fastapi import FastAPI, WebSocket from fastapi import status app = FastAPI() @app.websocket('/chat') async def chat(websocket: WebSocket): await websocket.accept() await websocket.close( code=status.WS_1008_POLICY_VIOLATION )

В этом случае клиент получит только код закрытия 1008 без текстового пояснения.

Смотрите также

  • статус WS_1000_NORMAL_CLOSURE,
    который сигнализирует о нормальном закрытии WebSocket-соединения
  • статус HTTP_401_UNAUTHORIZED,
    который возвращается при неудачной аутентификации HTTP-запроса
  • статус HTTP_403_FORBIDDEN,
    который возвращается при отсутствии прав доступа
  • модуль status,
    который содержит все коды статусов HTTP и WebSocket
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить