aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/language/websockets.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-05-16 09:42:47 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-05-16 09:42:47 +1200
commitd66dedc6e7bdc201cd4d3fa5f04c9636a8ad57f4 (patch)
tree088fbf245c8fef8f4a4b549566241bd93bf86fdb /libpathod/language/websockets.py
parent2beae27541be19c22e15a2c02e8fbee254bb8e6c (diff)
downloadmitmproxy-d66dedc6e7bdc201cd4d3fa5f04c9636a8ad57f4.tar.gz
mitmproxy-d66dedc6e7bdc201cd4d3fa5f04c9636a8ad57f4.tar.bz2
mitmproxy-d66dedc6e7bdc201cd4d3fa5f04c9636a8ad57f4.zip
websockets: mask specification
- Add a FixedLengthValue - Use it to implement a 4-byte mask specifier - Adjust docs
Diffstat (limited to 'libpathod/language/websockets.py')
-rw-r--r--libpathod/language/websockets.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/libpathod/language/websockets.py b/libpathod/language/websockets.py
index a6674988..3abdf9d8 100644
--- a/libpathod/language/websockets.py
+++ b/libpathod/language/websockets.py
@@ -8,8 +8,9 @@ from . import base, generators, actions, message
wf:c15:r'foo'
wf:fin:rsv1:rsv2:rsv3:mask
wf:-fin:-rsv1:-rsv2:-rsv3:-mask
- wf:p234
- wf:m"mask"
+
+ wf:k"mask"
+ wf:l234
"""
@@ -58,6 +59,11 @@ class Mask(base.Boolean):
name = "mask"
+class Key(base.FixedLengthValue):
+ preamble = "k"
+ length = 4
+
+
class WebsocketFrame(message.Message):
comps = (
Body,
@@ -72,6 +78,7 @@ class WebsocketFrame(message.Message):
actions.PauseAt,
actions.DisconnectAt,
actions.InjectAt,
+ Key,
Raw,
)