diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-03-11 11:56:10 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-03-11 11:56:10 +1300 |
commit | daa9653ebebe73e1056d6dae14b11b0842ecbc2a (patch) | |
tree | 570350fc9807ea7c58a77f1bd3f31e950b86cc33 /libmproxy/flow.py | |
parent | e99b1d1949c6a140895f8f10c4863ec41528cccf (diff) | |
download | mitmproxy-daa9653ebebe73e1056d6dae14b11b0842ecbc2a.tar.gz mitmproxy-daa9653ebebe73e1056d6dae14b11b0842ecbc2a.tar.bz2 mitmproxy-daa9653ebebe73e1056d6dae14b11b0842ecbc2a.zip |
Add --norefresh to stop refreshing server playback to mitmdump.
Also, make cookie parsing for refreshing more error-tolerant.
Diffstat (limited to 'libmproxy/flow.py')
-rw-r--r-- | libmproxy/flow.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libmproxy/flow.py b/libmproxy/flow.py index 0080f1d4..e5f9c35f 100644 --- a/libmproxy/flow.py +++ b/libmproxy/flow.py @@ -140,6 +140,8 @@ class StickyCookieState: def handle_response(self, f): for i in f.response.headers.get("set-cookie", []): + # FIXME: We now know that Cookie.py screws up some cookies with + # valid RFC 822/1123 datetime specifications for expiry. Sigh. c = Cookie.SimpleCookie(i) m = c.values()[0] k = self.ckey(m, f) @@ -432,7 +434,9 @@ class FlowMaster(controller.Master): self.scripts = {} self.kill_nonreplay = False self.stickycookie_state = False + self.anticache = False + self.refresh_server_playback = False def _runscript(self, f, script): #begin nocover @@ -480,6 +484,8 @@ class FlowMaster(controller.Master): response = proxy.Response.from_state(flow.request, rflow.response.get_state()) response.set_replay() flow.response = response + if self.refresh_server_playback: + response.refresh() flow.request.ack(response) return True return None |