close_wsh.py 739 B

12345678910111213141516171819202122232425262728
  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. import six
  5. _GOODBYE_MESSAGE = u'Goodbye'
  6. def web_socket_do_extra_handshake(_request):
  7. pass # Always accept.
  8. def web_socket_transfer_data(request):
  9. while True:
  10. line = request.ws_stream.receive_message()
  11. if line is None:
  12. return
  13. if isinstance(line, six.text_type):
  14. request.ws_stream.send_message(line, binary=False)
  15. if line == _GOODBYE_MESSAGE:
  16. return
  17. else:
  18. request.ws_stream.send_message(line, binary=True)
  19. def web_socket_passive_closing_handshake(request):
  20. return request.ws_close_code, request.ws_close_reason