| 123456789101112131415161718192021 |
- from __future__ import annotations
- import asyncio
- from collections.abc import Callable
- AutoWebSocketsProtocol: Callable[..., asyncio.Protocol] | None
- try:
- import websockets # noqa
- except ImportError: # pragma: no cover
- try:
- import wsproto # noqa
- except ImportError:
- AutoWebSocketsProtocol = None
- else:
- from uvicorn.protocols.websockets.wsproto_impl import WSProtocol
- AutoWebSocketsProtocol = WSProtocol
- else:
- from uvicorn.protocols.websockets.websockets_sansio_impl import WebSocketsSansIOProtocol
- AutoWebSocketsProtocol = WebSocketsSansIOProtocol
|