12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import struct 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)from mod_pywebsocket import handshake 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)from mod_pywebsocket import stream 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def web_socket_do_extra_handshake(_request): 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) pass 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def web_socket_transfer_data(request): 16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch # Just waiting... 17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch request.ws_stream.receive_message() 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)def web_socket_passive_closing_handshake(request): 21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch code = struct.pack('!H', 3004) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) packet = stream.create_close_frame(code + 'split test'.encode('utf-8')) 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) request.connection.write(packet[:1]) 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) request.connection.write(packet[1:]) 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) raise handshake.AbortedByUserException('Abort the connection') 26