diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-11-21 02:16:20 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-11-21 02:28:10 +0100 |
commit | 9af8f4bb31c94a25780a4189bffa406906249626 (patch) | |
tree | cf52f1c312b7bac3d83d796d6b03bb33b4556f26 /examples/stickycookies | |
parent | f74e561524d04c93cd7953f34e78ebe67eaa58a8 (diff) | |
download | mitmproxy-9af8f4bb31c94a25780a4189bffa406906249626.tar.gz mitmproxy-9af8f4bb31c94a25780a4189bffa406906249626.tar.bz2 mitmproxy-9af8f4bb31c94a25780a4189bffa406906249626.zip |
organize examples
This commit is largely based on work by Thiago Arrais (@thiagoarrais)
and Shane Bradfield (@l33tLumberjack). I wasn't really able to get their
PR reasonably merged onto the latest master, so I reapplied their changes
manually here and did some further improvements on that.
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 a0ee90ff..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 mitmproxy import controller, proxy -from mitmproxy.proxy.server import ProxyServer - - -class StickyMaster(master.Master): - def __init__(self, server): - master.Master.__init__(self, server) - self.stickyhosts = {} - - def run(self): - try: - return master.Master.run(self) - except KeyboardInterrupt: - self.shutdown() - - @controller.handler - def 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]) - - @controller.handler - def 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") - - -config = proxy.ProxyConfig(port=8080) -server = ProxyServer(config) -m = StickyMaster(server) -m.run() |