aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-02-23 17:06:09 +1300
committerAldo Cortesi <aldo@nullcube.com>2012-02-23 17:06:09 +1300
commitddc9155c243f9ccb463a84f259837ef79d607d66 (patch)
tree9d264bc7efc410b2f4abf7ad5c9951bfc20acc6f
parent2df9c52c097e9d1f7b4ba7f4f66094ef6cf27814 (diff)
downloadmitmproxy-ddc9155c243f9ccb463a84f259837ef79d607d66.tar.gz
mitmproxy-ddc9155c243f9ccb463a84f259837ef79d607d66.tar.bz2
mitmproxy-ddc9155c243f9ccb463a84f259837ef79d607d66.zip
Make "~q" filter work more intuitively.
It now matches any flow that has no response.
-rw-r--r--libmproxy/filt.py5
-rw-r--r--test/test_filt.py6
2 files changed, 5 insertions, 6 deletions
diff --git a/libmproxy/filt.py b/libmproxy/filt.py
index b9d6f83a..b49c856e 100644
--- a/libmproxy/filt.py
+++ b/libmproxy/filt.py
@@ -66,9 +66,10 @@ class FErr(_Action):
class FReq(_Action):
code = "q"
- help = "Match request"
+ help = "Match request with no response"
def __call__(self, f):
- return True if f.request else False
+ if not f.response:
+ return True
class FResp(_Action):
diff --git a/test/test_filt.py b/test/test_filt.py
index eb5bc135..61acbc7d 100644
--- a/test/test_filt.py
+++ b/test/test_filt.py
@@ -135,8 +135,7 @@ class uMatching(libpry.AutoTree):
s = self.resp()
assert self.q("~q", q)
- # FIXME
- assert self.q("~q", s)
+ assert not self.q("~q", s)
assert not self.q("~s", q)
assert self.q("~s", s)
@@ -226,8 +225,7 @@ class uMatching(libpry.AutoTree):
assert self.q("~c 200 | ~h nohead", s)
assert self.q("~c 201 | ~h head", s)
assert not self.q("~c 201 | ~h nohead", s)
- # FIXME
- #assert self.q("(~c 201 | ~h nohead) | ~s", s)
+ assert self.q("(~c 201 | ~h nohead) | ~s", s)
def test_not(self):
s = self.resp()