Vue d'ensemble

Uvicorn 0.27, publié le 22 janvier 2024, implémente la spécification ASGI WebSocket 2.4 avec le support des raisons de fermeture.

Fonctionnalités principales

ASGI WebSocket 2.4

La spec WebSocket 2.4 ajoute le champ reason aux événements de fermeture, permettant une communication plus précise entre client et serveur lors de la déconnexion.

python
# Application ASGI WebSocket avec raison de fermeture
async def app(scope, receive, send):
    if scope['type'] == 'websocket':
        await send({'type': 'websocket.accept'})
        msg = await receive()
        await send({
            'type': 'websocket.close',
            'code': 1000,
            'reason': 'Traitement terminé',  # nouveau
        })

Sources