aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTyler St. Onge <tylertstonge@gmail.com>2016-10-01 07:06:59 -0400
committerThomas Kriechbaumer <Kriechi@users.noreply.github.com>2016-10-01 13:06:59 +0200
commitccbdcd684b5a49c0509610a79dad3f220962a42d (patch)
tree30630818e6393a21979767264fe9b3a2cc882df2
parent05e2e55eb8117221a88a88d22e77bf92fbf9111e (diff)
downloadmitmproxy-ccbdcd684b5a49c0509610a79dad3f220962a42d.tar.gz
mitmproxy-ccbdcd684b5a49c0509610a79dad3f220962a42d.tar.bz2
mitmproxy-ccbdcd684b5a49c0509610a79dad3f220962a42d.zip
Add API to programmatically create new requests (#1534)
-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)