1# Copyright (c) 2012 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import struct 6 7from mod_pywebsocket import handshake 8from mod_pywebsocket import stream 9 10 11def web_socket_do_extra_handshake(_request): 12 pass 13 14 15def web_socket_transfer_data(request): 16 line = request.ws_stream.receive_message() 17 if line is None: 18 return 19 if isinstance(line, unicode): 20 request.ws_stream.send_message(line, binary=False) 21 else: 22 request.ws_stream.send_message(line, binary=True) 23 24 25def web_socket_passive_closing_handshake(request): 26 code = struct.pack('!H', 1000) 27 packet = stream.create_close_frame(code + 'split test'.encode('utf-8')) 28 request.connection.write(packet[:1]) 29 request.connection.write(packet[1:]) 30 raise handshake.AbortedByUserException('Abort the connection') 31