aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Kriechbaumer <thomas@kriechbaumer.name>2016-11-29 22:32:55 +0100
committerThomas Kriechbaumer <thomas@kriechbaumer.name>2016-11-29 22:32:55 +0100
commitea6de424a344e5a4fcbaf8c54703331e20079268 (patch)
treecefe6e124166f7bc60a98f205204e0043bfd7643
parent073a286098f09775f821db2e668fd2d1a771bb74 (diff)
downloadmitmproxy-ea6de424a344e5a4fcbaf8c54703331e20079268.tar.gz
mitmproxy-ea6de424a344e5a4fcbaf8c54703331e20079268.tar.bz2
mitmproxy-ea6de424a344e5a4fcbaf8c54703331e20079268.zip
websocket: carry over per-message compression bit
-rw-r--r--mitmproxy/proxy/protocol/websocket.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/mitmproxy/proxy/protocol/websocket.py b/mitmproxy/proxy/protocol/websocket.py
index 1b859dc7..d0b12540 100644
--- a/mitmproxy/proxy/protocol/websocket.py
+++ b/mitmproxy/proxy/protocol/websocket.py
@@ -62,6 +62,7 @@ class WebSocketLayer(base.Layer):
payload = b''.join(f.payload for f in fb)
original_chunk_sizes = [len(f.payload) for f in fb]
message_type = fb[0].header.opcode
+ compressed_message = fb[0].header.rsv1
fb.clear()
if message_type == websockets.OPCODE.TEXT:
@@ -107,6 +108,7 @@ class WebSocketLayer(base.Layer):
masking_key=(b'' if is_server else os.urandom(4))))
frms[0].header.opcode = message_type
+ frms[0].header.rsv1 = compressed_message
for frm in frms:
other_conn.send(bytes(frm))