blob: 0385bb9d5ad5b9c6a3c0ba92744270f71420189f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
async def application(scope, receive, send):
assert scope['type'] == 'websocket'
while True:
m = await receive()
if m['type'] == 'websocket.connect':
subprotocols = scope['subprotocols']
await send(
{
'type': 'websocket.accept',
'headers': [
(b'x-subprotocols', str(subprotocols).encode()),
],
'subprotocol': subprotocols[0],
}
)
if m['type'] == 'websocket.receive':
await send(
{
'type': 'websocket.send',
'bytes': m.get('bytes', None),
'text': m.get('text', None),
}
)
if m['type'] == 'websocket.disconnect':
break
|