diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-07-25 15:16:16 -0700 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-07-25 15:16:16 -0700 |
commit | 79ebcb046e8669f80357a6c3046ec76c6adf49be (patch) | |
tree | 441981a16f1be1e620584e4a47f41767ce5585b2 /mitmproxy/filt.py | |
parent | 3254595584e1d711e7ae292ad34753a52f7a0fc1 (diff) | |
parent | 56796aeda25dda66621ce78af227ff46049ef811 (diff) | |
download | mitmproxy-79ebcb046e8669f80357a6c3046ec76c6adf49be.tar.gz mitmproxy-79ebcb046e8669f80357a6c3046ec76c6adf49be.tar.bz2 mitmproxy-79ebcb046e8669f80357a6c3046ec76c6adf49be.zip |
Merge remote-tracking branch 'origin/master' into flow_editing_v2
Diffstat (limited to 'mitmproxy/filt.py')
-rw-r--r-- | mitmproxy/filt.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mitmproxy/filt.py b/mitmproxy/filt.py index 8b647b22..67915e5b 100644 --- a/mitmproxy/filt.py +++ b/mitmproxy/filt.py @@ -39,9 +39,12 @@ import functools from mitmproxy.models.http import HTTPFlow from mitmproxy.models.tcp import TCPFlow +from mitmproxy.models.flow import Flow + from netlib import strutils import pyparsing as pp +from typing import Callable def only(*types): @@ -80,6 +83,14 @@ class FErr(_Action): return True if f.error else False +class FMarked(_Action): + code = "marked" + help = "Match marked flows" + + def __call__(self, f): + return f.marked + + class FHTTP(_Action): code = "http" help = "Match HTTP flows" @@ -398,6 +409,7 @@ filt_unary = [ FAsset, FErr, FHTTP, + FMarked, FReq, FResp, FTCP, @@ -471,7 +483,11 @@ def _make(): bnf = _make() +TFilter = Callable[[Flow], bool] + + def parse(s): + # type: (str) -> TFilter try: filt = bnf.parseString(s, parseAll=True)[0] filt.pattern = s |