diff options
Diffstat (limited to 'examples/stickycookies')
-rwxr-xr-x | examples/stickycookies | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/examples/stickycookies b/examples/stickycookies deleted file mode 100755 index 7e84f71c..00000000 --- a/examples/stickycookies +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python -""" -This example builds on mitmproxy's base proxying infrastructure to -implement functionality similar to the "sticky cookies" option. - -Heads Up: In the majority of cases, you want to use inline scripts. -""" -import os -from libmproxy import controller, proxy -from libmproxy.proxy.server import ProxyServer - - -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, flow): - hid = (flow.request.host, flow.request.port) - if "cookie" in flow.request.headers: - self.stickyhosts[hid] = flow.request.headers.get_all("cookie") - elif hid in self.stickyhosts: - flow.request.headers.set_all("cookie", self.stickyhosts[hid]) - flow.reply() - - def handle_response(self, flow): - hid = (flow.request.host, flow.request.port) - if "set-cookie" in flow.response.headers: - self.stickyhosts[hid] = flow.response.headers.get_all("set-cookie") - flow.reply() - - -config = proxy.ProxyConfig(port=8080) -server = ProxyServer(config) -m = StickyMaster(server) -m.run() |