diff options
Diffstat (limited to 'libmproxy')
-rw-r--r-- | libmproxy/console.py | 4 | ||||
-rw-r--r-- | libmproxy/filt.py | 15 |
2 files changed, 16 insertions, 3 deletions
diff --git a/libmproxy/console.py b/libmproxy/console.py index 337cd243..fb1a2ed0 100644 --- a/libmproxy/console.py +++ b/libmproxy/console.py @@ -1499,8 +1499,8 @@ class ConsoleMaster(flow.FlowMaster): ) examples = [ ("google\.com", "Url containing \"google.com"), - ("~r ~b test", "Requests where body contains \"test\""), - ("!(~r & ~t \"text/html\")", "Anything but requests with a text/html content type."), + ("~q ~b test", "Requests where body contains \"test\""), + ("!(~q & ~t \"text/html\")", "Anything but requests with a text/html content type."), ] text.extend(format_keyvals(examples, key="key", val="text", indent=4)) return urwid.ListBox([urwid.Text(text)]) diff --git a/libmproxy/filt.py b/libmproxy/filt.py index bf7d20c1..b5af44de 100644 --- a/libmproxy/filt.py +++ b/libmproxy/filt.py @@ -34,6 +34,7 @@ ~bq rex Expression in the body of response ~t rex Shortcut for content-type header. + ~m rex Method ~u rex URL ~c CODE Response code. rex Equivalent to ~u rex @@ -178,7 +179,18 @@ class FBodResponse(_Rex): elif o.content and re.search(self.expr, o.content): return True return False - + + +class FMethod(_Rex): + code = "m" + help = "Method" + def __call__(self, o): + if o._is_response(): + return False + elif o.method: + return re.search(self.expr, o.method, re.IGNORECASE) + return False + class FUrl(_Rex): code = "u" @@ -260,6 +272,7 @@ filt_rex = [ FBodRequest, FBodResponse, FBod, + FMethod, FUrl, FRequestContentType, FResponseContentType, |