aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/flow.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2011-03-11 11:56:10 +1300
committerAldo Cortesi <aldo@nullcube.com>2011-03-11 11:56:10 +1300
commitdaa9653ebebe73e1056d6dae14b11b0842ecbc2a (patch)
tree570350fc9807ea7c58a77f1bd3f31e950b86cc33 /libmproxy/flow.py
parente99b1d1949c6a140895f8f10c4863ec41528cccf (diff)
downloadmitmproxy-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.py6
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