aboutsummaryrefslogtreecommitdiffstats
path: root/examples/stickycookies
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2011-08-13 13:51:38 +1200
committerAldo Cortesi <aldo@nullcube.com>2011-08-13 13:51:38 +1200
commit25f12b0e5debc7b052e0a5d002a88b045d8f6f6a (patch)
tree2c5274591d4ae2473fc2b994582b7b579ca7803c /examples/stickycookies
parent4d02ae0582dead00ad24a644ba712c79f56d04fd (diff)
downloadmitmproxy-25f12b0e5debc7b052e0a5d002a88b045d8f6f6a.tar.gz
mitmproxy-25f12b0e5debc7b052e0a5d002a88b045d8f6f6a.tar.bz2
mitmproxy-25f12b0e5debc7b052e0a5d002a88b045d8f6f6a.zip
Add a basic Flow processor example.
Diffstat (limited to 'examples/stickycookies')
-rwxr-xr-xexamples/stickycookies11
1 files changed, 9 insertions, 2 deletions
diff --git a/examples/stickycookies b/examples/stickycookies
index 1ae0e113..b290f2fd 100755
--- a/examples/stickycookies
+++ b/examples/stickycookies
@@ -1,5 +1,12 @@
#!/usr/bin/env python
+"""
+ This example builds on mitmproxy's base proxying infrastructure to
+ implement functionality similar to the "sticky cookies" option. This is at
+ a lower level than the Flow mechanism, so we're dealing directly with
+ request and response objects.
+"""
from libmproxy import controller, proxy
+import os
class StickyMaster(controller.Master):
def __init__(self, server):
@@ -23,12 +30,12 @@ class StickyMaster(controller.Master):
def handle_response(self, msg):
hid = (msg.request.host, msg.request.port)
if msg.headers["set-cookie"]:
- self.stickyhosts[hid] = f.response.headers["set-cookie"]
+ self.stickyhosts[hid] = msg.headers["set-cookie"]
msg._ack()
ssl_config = proxy.SSLConfig(
- "~/.mitmproxy/cert.pem"
+ cacert = os.path.expanduser("~/.mitmproxy/mitmproxy-ca.pem")
)
server = proxy.ProxyServer(ssl_config, 8080)
m = StickyMaster(server)