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..f2a6a16b7216f369329dc63ef619bf5112880759 |
--- /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', int(1000)) |
tyoshino (SeeGerritForStatus)
2012/12/14 15:13:54
int() is unnecessary
Takashi Toyoshima
2012/12/21 06:39:03
Done.
|
+ 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') |