1*6777b538SAndroid Build Coastguard Worker# Copyright 2012 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerimport struct 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Workerfrom mod_pywebsocket import handshake 8*6777b538SAndroid Build Coastguard Workerfrom mod_pywebsocket import stream 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Workerdef web_socket_do_extra_handshake(_request): 12*6777b538SAndroid Build Coastguard Worker pass 13*6777b538SAndroid Build Coastguard Worker 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Workerdef web_socket_transfer_data(request): 16*6777b538SAndroid Build Coastguard Worker # Just waiting... 17*6777b538SAndroid Build Coastguard Worker request.ws_stream.receive_message() 18*6777b538SAndroid Build Coastguard Worker 19*6777b538SAndroid Build Coastguard Worker 20*6777b538SAndroid Build Coastguard Workerdef web_socket_passive_closing_handshake(request): 21*6777b538SAndroid Build Coastguard Worker code = struct.pack('!H', 3004) 22*6777b538SAndroid Build Coastguard Worker packet = stream.create_close_frame(code + 'split test'.encode('utf-8')) 23*6777b538SAndroid Build Coastguard Worker request.connection.write(packet[:1]) 24*6777b538SAndroid Build Coastguard Worker request.connection.write(packet[1:]) 25*6777b538SAndroid Build Coastguard Worker raise handshake.AbortedByUserException('Abort the connection') 26