diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-06-02 10:45:17 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-06-02 10:45:17 +1200 |
commit | 62f9864395fcb9933992257d5beabf84e532f85f (patch) | |
tree | afe048a485913801fd04f8e0baf9678234cedfcc /libmproxy/flow.py | |
parent | 1de5209340cf0f032a93244bee1696abbb879154 (diff) | |
parent | 07110bbbf192339b52d1067b531d0cea20b245d2 (diff) | |
download | mitmproxy-62f9864395fcb9933992257d5beabf84e532f85f.tar.gz mitmproxy-62f9864395fcb9933992257d5beabf84e532f85f.tar.bz2 mitmproxy-62f9864395fcb9933992257d5beabf84e532f85f.zip |
Merge branch 'master' of github.com:cortesi/mitmproxy
Diffstat (limited to 'libmproxy/flow.py')
-rw-r--r-- | libmproxy/flow.py | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 387c49f0..14f06241 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -542,6 +542,18 @@ class FlowMaster(controller.Master): controller.Master.tick(self, q) + def load_flows(self, fr): + """ + Load flows from a FlowReader object. + """ + for i in fr.stream(): + if i.request: + self.handle_request(i.request) + if i.response: + self.handle_response(i.response) + if i.error: + self.handle_error(i.error) + def process_new_request(self, f): if self.stickycookie_state: self.stickycookie_state.handle_request(f) @@ -560,6 +572,12 @@ class FlowMaster(controller.Master): else: f.request.ack() + def process_new_response(self, f): + if self.stickycookie_state: + self.stickycookie_state.handle_response(f) + if "response" in self.scripts: + self._runscript(f, self.scripts["response"]) + def replay_request(self, f): """ Returns None if successful, or error message if not. @@ -605,10 +623,7 @@ class FlowMaster(controller.Master): self.client_playback.clear(f) if not f: r.ack() - if self.stickycookie_state: - self.stickycookie_state.handle_response(f) - if "response" in self.scripts: - self._runscript(f, self.scripts["response"]) + self.process_new_response(f) return f |