# Copyright 2012 The Chromium Authors # 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 = b'' elif line == '--': data = b'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)) request.server_terminated = True # Wait for Close frame from client. request.ws_stream.receive_message()