Vue d'ensemble
Starlette 0.15, publié le 23 juin 2021, ajoute le support de Trio/AnyIO et un gestionnaire de contexte pour les connexions WebSocket.
Fonctionnalités principales
Support Trio/AnyIO
Starlette peut fonctionner avec anyio comme couche d'abstraction, permettant l'utilisation de Trio en plus d'asyncio.
python
from starlette.applications import Starlette
from starlette.responses import PlainTextResponse
from starlette.routing import Route
async def homepage(request):
return PlainTextResponse('Hello')
app = Starlette(routes=[
Route('/', homepage),
])
# Fonctionne avec asyncio ou trio via anyio
Contexte WebSocket
Un gestionnaire de contexte simplifie la gestion du cycle de vie des connexions WebSocket.
python
from starlette.websockets import WebSocket
async def ws_endpoint(websocket: WebSocket):
await websocket.accept()
try:
while True:
data = await websocket.receive_text()
await websocket.send_text(f'Echo: {data}')
except Exception:
await websocket.close()
