diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2012-07-10 23:29:33 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2012-07-10 23:29:33 +1200 |
commit | 01b8b0d8764be01fbb1f1dfe4466bb094748435f (patch) | |
tree | 2164d868c04ca4c5dbc9b0076d5f74cfc10d31be | |
parent | 04d9ec8c3c32a6e53be9f6f05b3ad69ee5af76e4 (diff) | |
download | mitmproxy-01b8b0d8764be01fbb1f1dfe4466bb094748435f.tar.gz mitmproxy-01b8b0d8764be01fbb1f1dfe4466bb094748435f.tar.bz2 mitmproxy-01b8b0d8764be01fbb1f1dfe4466bb094748435f.zip |
Refine semantics of replay_request method.
-rw-r--r-- | libmproxy/flow.py | 5 | ||||
-rw-r--r-- | test/test_server.py | 9 |
2 files changed, 6 insertions, 8 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 53644fb1..aa02b5c5 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -1361,7 +1361,7 @@ class FlowMaster(controller.Master): if self.stickycookie_state: self.stickycookie_state.handle_response(f) - def replay_request(self, f): + def replay_request(self, f, block=False): """ Returns None if successful, or error message if not. """ @@ -1382,7 +1382,8 @@ class FlowMaster(controller.Master): self.masterq, ) rt.start() # pragma: no cover - return rt + if block: + rt.join() def run_script_hook(self, name, *args, **kwargs): if self.script and not self.pause_scripts: diff --git a/test/test_server.py b/test/test_server.py index 72be976f..86dc0a4a 100644 --- a/test/test_server.py +++ b/test/test_server.py @@ -26,20 +26,17 @@ class SanityMixin: l = self.master.state.view[0] assert l.response.code == 304 l.request.path = "/p/305" - rt = self.master.replay_request(l) - rt.join() + rt = self.master.replay_request(l, block=True) assert l.response.code == 305 # Disconnect error l.request.path = "/p/305:d0" - rt = self.master.replay_request(l) - rt.join() + rt = self.master.replay_request(l, block=True) assert l.error # Port error l.request.port = 1 - rt = self.master.replay_request(l) - rt.join() + rt = self.master.replay_request(l, block=True) assert l.error |