aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mitmproxy/flow/master.py4
-rw-r--r--test/mitmproxy/test_flow.py9
2 files changed, 13 insertions, 0 deletions
diff --git a/mitmproxy/flow/master.py b/mitmproxy/flow/master.py
index 80f633cd..14432357 100644
--- a/mitmproxy/flow/master.py
+++ b/mitmproxy/flow/master.py
@@ -187,6 +187,10 @@ class FlowMaster(controller.Master):
rt.join()
return rt
+ def new_request(self, method, scheme, host, port, path, block=False):
+ f = self.create_request(method, scheme, host, port, path)
+ return self.replay_request(f, block)
+
@controller.handler
def log(self, l):
self.add_log(l.msg, l.level)
diff --git a/test/mitmproxy/test_flow.py b/test/mitmproxy/test_flow.py
index 0fe45afb..82126353 100644
--- a/test/mitmproxy/test_flow.py
+++ b/test/mitmproxy/test_flow.py
@@ -463,6 +463,15 @@ class TestFlowMaster:
assert s.flow_count() == 2
assert s.index(f2) == 1
+ def test_new_request(self):
+ s = flow.State()
+ fm = flow.FlowMaster(
+ options.Options(),
+ DummyServer(ProxyConfig(options.Options())),
+ s
+ )
+ assert fm.new_request("GET", "http", "example.com", 80, "/")
+
def test_create_flow(self):
s = flow.State()
fm = flow.FlowMaster(None, None, s)