summaryrefslogtreecommitdiffhomepage
path: root/test/python/websockets/mirror/asgi.py
blob: 72a32d677515b226138b9fcc058435c8904530e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
async def application(scope, receive, send):
    if scope['type'] == 'websocket':
        while True:
            m = await receive()
            if m['type'] == 'websocket.connect':
                await send({'type': 'websocket.accept'})

            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