| Index: net/data/websocket/close-with-split-packet_wsh.py
|
| diff --git a/net/data/websocket/close-with-split-packet_wsh.py b/net/data/websocket/close-with-split-packet_wsh.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d5185c4114bc4e4eb2cb2124691b7dd518e9532b
|
| --- /dev/null
|
| +++ b/net/data/websocket/close-with-split-packet_wsh.py
|
| @@ -0,0 +1,30 @@
|
| +# Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +import struct
|
| +
|
| +from mod_pywebsocket import handshake
|
| +from mod_pywebsocket import stream
|
| +
|
| +
|
| +def web_socket_do_extra_handshake(_request):
|
| + pass
|
| +
|
| +
|
| +def web_socket_transfer_data(request):
|
| + line = request.ws_stream.receive_message()
|
| + if line is None:
|
| + return
|
| + if isinstance(line, unicode):
|
| + request.ws_stream.send_message(line, binary=False)
|
| + else:
|
| + request.ws_stream.send_message(line, binary=True)
|
| +
|
| +
|
| +def web_socket_passive_closing_handshake(request):
|
| + code = struct.pack('!H', 1000)
|
| + packet = stream.create_close_frame(code + 'split test'.encode('utf-8'))
|
| + request.connection.write(packet[:1])
|
| + request.connection.write(packet[1:])
|
| + raise handshake.AbortedByUserException('Abort the connection')
|
|
|