Tests: added ASGI WebSocket.
This commit is contained in:
18
test/python/websockets/mirror/asgi.py
Normal file
18
test/python/websockets/mirror/asgi.py
Normal file
@@ -0,0 +1,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;
|
||||
25
test/python/websockets/subprotocol/asgi.py
Normal file
25
test/python/websockets/subprotocol/asgi.py
Normal file
@@ -0,0 +1,25 @@
|
||||
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;
|
||||
1432
test/test_asgi_websockets.py
Normal file
1432
test/test_asgi_websockets.py
Normal file
File diff suppressed because it is too large
Load Diff
@@ -40,7 +40,7 @@ class TestApplicationWebsocket(TestApplicationProto):
|
||||
'Upgrade': 'websocket',
|
||||
'Connection': 'Upgrade',
|
||||
'Sec-WebSocket-Key': key,
|
||||
'Sec-WebSocket-Protocol': 'chat',
|
||||
'Sec-WebSocket-Protocol': 'chat, phone, video',
|
||||
'Sec-WebSocket-Version': 13,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user