diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-10-14 02:00:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-14 02:00:36 -0700 |
commit | d5873302c1c91dfb373f7048ad61617434bba297 (patch) | |
tree | c2274bfa401f4a9649a12859499dbb8f0702fabd | |
parent | 61a1b96ca4bfa63ddbef65913ccd50b4327f90a6 (diff) | |
parent | e9284ab7eef2ed37565860acd301b717bfcb6018 (diff) | |
download | mitmproxy-d5873302c1c91dfb373f7048ad61617434bba297.tar.gz mitmproxy-d5873302c1c91dfb373f7048ad61617434bba297.tar.bz2 mitmproxy-d5873302c1c91dfb373f7048ad61617434bba297.zip |
Merge pull request #1610 from mhils/issue-1605
Fix #1605
-rw-r--r-- | mitmproxy/console/master.py | 18 | ||||
-rw-r--r-- | test/mitmproxy/console/test_master.py | 13 |
2 files changed, 19 insertions, 12 deletions
diff --git a/mitmproxy/console/master.py b/mitmproxy/console/master.py index 25776512..16abcb96 100644 --- a/mitmproxy/console/master.py +++ b/mitmproxy/console/master.py @@ -685,24 +685,18 @@ class ConsoleMaster(flow.FlowMaster): # Handlers @controller.handler def error(self, f): - f = flow.FlowMaster.error(self, f) - if f: - self.process_flow(f) - return f + super(ConsoleMaster, self).error(f) + self.process_flow(f) @controller.handler def request(self, f): - f = flow.FlowMaster.request(self, f) - if f: - self.process_flow(f) - return f + super(ConsoleMaster, self).request(f) + self.process_flow(f) @controller.handler def response(self, f): - f = flow.FlowMaster.response(self, f) - if f: - self.process_flow(f) - return f + super(ConsoleMaster, self).response(f) + self.process_flow(f) @controller.handler def tcp_message(self, f): diff --git a/test/mitmproxy/console/test_master.py b/test/mitmproxy/console/test_master.py index 8388a6bd..e57846ae 100644 --- a/test/mitmproxy/console/test_master.py +++ b/test/mitmproxy/console/test_master.py @@ -122,3 +122,16 @@ class TestMaster(mastertest.MasterTest): for i in (1, 2, 3): self.dummy_cycle(m, 1, b"") assert len(m.state.flows) == i + + def test_intercept(self): + """regression test for https://github.com/mitmproxy/mitmproxy/issues/1605""" + m = self.mkmaster(intercept="~b bar") + f = tutils.tflow(req=netlib.tutils.treq(content=b"foo")) + m.request(f) + assert not m.state.flows[0].intercepted + f = tutils.tflow(req=netlib.tutils.treq(content=b"bar")) + m.request(f) + assert m.state.flows[1].intercepted + f = tutils.tflow(resp=netlib.tutils.tresp(content=b"bar")) + m.request(f) + assert m.state.flows[2].intercepted |