Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Copyright 2014 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 | |
| 5 | |
| 6 from mod_pywebsocket import common | |
| 7 from mod_pywebsocket.extensions import PerMessageDeflateExtensionProcessor | |
| 8 from mod_pywebsocket.extensions import ExtensionProcessorInterface | |
|
tyoshino (SeeGerritForStatus)
2014/06/05 05:49:44
unnecessary?
yhirano
2014/06/05 05:57:21
Done.
| |
| 9 from mod_pywebsocket.common import ExtensionParameter | |
|
tyoshino (SeeGerritForStatus)
2014/06/05 05:49:44
unnecessary?
yhirano
2014/06/05 05:57:21
Done.
| |
| 10 from mod_pywebsocket.stream import Frame, create_header | |
|
tyoshino (SeeGerritForStatus)
2014/06/05 05:49:44
Frame is unnecessary?
yhirano
2014/06/05 05:57:21
Done.
| |
| 11 | |
| 12 | |
| 13 def _get_permessage_deflate_extension_processor(request): | |
| 14 for extension_processor in request.ws_extension_processors: | |
| 15 if isinstance(extension_processor, | |
| 16 PerMessageDeflateExtensionProcessor): | |
| 17 return extension_processor | |
| 18 return None | |
| 19 | |
| 20 | |
| 21 def web_socket_do_extra_handshake(request): | |
| 22 processor = _get_permessage_deflate_extension_processor(request) | |
| 23 assert processor is not None | |
| 24 # Remove extension processors other than | |
| 25 # PerMessageDeflateExtensionProcessor to avoid conflict. | |
| 26 request.ws_extension_processors = [processor] | |
| 27 | |
| 28 | |
| 29 def web_socket_transfer_data(request): | |
| 30 line = request.ws_stream.receive_message() | |
| 31 # Hello | |
| 32 payload = b'\xf2\x48\xcd\xc9\xc9\x07\x00\x00\x00\xff\xff' | |
| 33 # Strip \x00\x00\xff\xff | |
| 34 stripped = payload[:-4] | |
| 35 | |
| 36 header = create_header(common.OPCODE_TEXT, len(payload), | |
| 37 fin=0, rsv1=1, rsv2=0, rsv3=0, mask=False) | |
| 38 request.ws_stream._write(header + payload) | |
| 39 | |
| 40 header = create_header(common.OPCODE_CONTINUATION, len(stripped), | |
| 41 fin=1, rsv1=0, rsv2=0, rsv3=0, mask=False) | |
| 42 request.ws_stream._write(header + stripped) | |
| 43 | |
| 44 | |
| 45 # vi:sts=4 sw=4 et | |
| OLD | NEW |