aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/filt.py
diff options
context:
space:
mode:
authorMark E. Haase <mehaase@gmail.com>2011-12-28 17:32:29 -0500
committerMark E. Haase <mehaase@gmail.com>2011-12-28 17:32:29 -0500
commit05111f093d66d5a277a69e8a610e4bf10ca249c6 (patch)
treed462d610057afb64df80eb0a5b05dd7cf942ea00 /libmproxy/filt.py
parent965d318164f430a1b1680f205616954aac2faace (diff)
downloadmitmproxy-05111f093d66d5a277a69e8a610e4bf10ca249c6.tar.gz
mitmproxy-05111f093d66d5a277a69e8a610e4bf10ca249c6.tar.bz2
mitmproxy-05111f093d66d5a277a69e8a610e4bf10ca249c6.zip
Add support for filtering by HTTP method (get, post, etc.) using ~m operator.
Diffstat (limited to 'libmproxy/filt.py')
-rw-r--r--libmproxy/filt.py15
1 files changed, 14 insertions, 1 deletions
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,