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 six 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker_GOODBYE_MESSAGE = u'Goodbye' 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Workerdef web_socket_do_extra_handshake(request): 11*6777b538SAndroid Build Coastguard Worker request.ws_extension_processors = [] 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker 14*6777b538SAndroid Build Coastguard Workerdef web_socket_transfer_data(request): 15*6777b538SAndroid Build Coastguard Worker while True: 16*6777b538SAndroid Build Coastguard Worker line = request.ws_stream.receive_message() 17*6777b538SAndroid Build Coastguard Worker if line is None: 18*6777b538SAndroid Build Coastguard Worker return 19*6777b538SAndroid Build Coastguard Worker if isinstance(line, six.text_type): 20*6777b538SAndroid Build Coastguard Worker request.ws_stream.send_message(line, binary=False) 21*6777b538SAndroid Build Coastguard Worker if line == _GOODBYE_MESSAGE: 22*6777b538SAndroid Build Coastguard Worker return 23*6777b538SAndroid Build Coastguard Worker else: 24*6777b538SAndroid Build Coastguard Worker request.ws_stream.send_message(line, binary=True) 25