Index: net/data/websocket/close-code-and-reason_wsh.py |
diff --git a/net/data/websocket/close-code-and-reason_wsh.py b/net/data/websocket/close-code-and-reason_wsh.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c98bfd4418a9149ab78510d725d45ea894667352 |
--- /dev/null |
+++ b/net/data/websocket/close-code-and-reason_wsh.py |
@@ -0,0 +1,25 @@ |
+# 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 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 line == '-': |
+ data = '' |
+ elif line == '--': |
+ data = 'X' |
+ else: |
+ code, reason = line.split(' ', 1) |
+ data = struct.pack('!H', int(code)) + reason.encode('utf-8') |
+ request.connection.write(stream.create_close_frame(data)) |