diff options
author | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2017-12-17 18:13:35 +0100 |
---|---|---|
committer | Thomas Kriechbaumer <thomas@kriechbaumer.name> | 2017-12-18 09:19:20 +0100 |
commit | 1a7ce384dac5099308b68e629c88e7b81ad44866 (patch) | |
tree | 69c97127876a2a4872215016e5f7f14eb658256a /mitmproxy/flowfilter.py | |
parent | b1f923e1482bf95418c955a5867dcbd30e1a00ec (diff) | |
download | mitmproxy-1a7ce384dac5099308b68e629c88e7b81ad44866.tar.gz mitmproxy-1a7ce384dac5099308b68e629c88e7b81ad44866.tar.bz2 mitmproxy-1a7ce384dac5099308b68e629c88e7b81ad44866.zip |
websocket: support domain and url filters
Diffstat (limited to 'mitmproxy/flowfilter.py')
-rw-r--r-- | mitmproxy/flowfilter.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/mitmproxy/flowfilter.py b/mitmproxy/flowfilter.py index 23e47e2b..12f2bac8 100644 --- a/mitmproxy/flowfilter.py +++ b/mitmproxy/flowfilter.py @@ -322,14 +322,15 @@ class FDomain(_Rex): flags = re.IGNORECASE is_binary = False - @only(http.HTTPFlow) + @only(http.HTTPFlow, websocket.WebSocketFlow) def __call__(self, f): + if isinstance(f, websocket.WebSocketFlow): + f = f.handshake_flow return bool( self.re.search(f.request.host) or self.re.search(f.request.pretty_host) ) - class FUrl(_Rex): code = "u" help = "URL" @@ -342,9 +343,11 @@ class FUrl(_Rex): toks = toks[1:] return klass(*toks) - @only(http.HTTPFlow) + @only(http.HTTPFlow, websocket.WebSocketFlow) def __call__(self, f): - if not f.request: + if isinstance(f, websocket.WebSocketFlow): + f = f.handshake_flow + if not f or not f.request: return False return self.re.search(f.request.pretty_url) |