• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2012 The Chromium Authors
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 stream
8
9
10def web_socket_do_extra_handshake(_request):
11  pass
12
13
14def web_socket_transfer_data(request):
15  line = request.ws_stream.receive_message()
16  if line is None:
17    return
18  if line == '-':
19    data = b''
20  elif line == '--':
21    data = b'X'
22  else:
23    code, reason = line.split(' ', 1)
24    data = struct.pack('!H', int(code)) + reason.encode('utf-8')
25  request.connection.write(stream.create_close_frame(data))
26  request.server_terminated = True
27  # Wait for Close frame from client.
28  request.ws_stream.receive_message()
29