Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(776)

Side by Side Diff: LayoutTests/http/tests/websocket/permessage-deflate-split-frames_wsh.py

Issue 314043002: [WebSocket] Add tests for permessage deflate split frames. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698