From cb0e3287090786fad566feb67ac07b8ef361b2c3 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Tue, 16 Feb 2010 17:09:07 +1300 Subject: Initial checkin. --- examples/stickycookies.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 examples/stickycookies.py (limited to 'examples') diff --git a/examples/stickycookies.py b/examples/stickycookies.py new file mode 100644 index 00000000..94b35876 --- /dev/null +++ b/examples/stickycookies.py @@ -0,0 +1,35 @@ +from libmproxy import controller, proxy + +proxy.config = proxy.Config( + "~/.mitmproxy/cert.pem" +) + +class StickyMaster(controller.Master): + def __init__(self, server): + controller.Master.__init__(self, server) + self.stickyhosts = {} + + def run(self): + try: + return controller.Master.run(self) + except KeyboardInterrupt: + self.shutdown() + + def handle_request(self, msg): + hid = (msg.host, msg.port) + if msg.headers.has_key("cookie"): + self.stickyhosts[hid] = msg.headers["cookie"] + elif hid in self.stickyhosts: + msg.headers["cookie"] = self.stickyhosts[hid] + msg.ack() + + def handle_response(self, msg): + hid = (msg.request.host, msg.request.port) + if msg.headers.has_key("set-cookie"): + self.stickyhosts[hid] = f.response.headers["set-cookie"] + msg.ack() + + +server = proxy.ProxyServer(8080) +m = StickyMaster(server) +m.run() -- cgit v1.2.3