aboutsummaryrefslogtreecommitdiffstats
path: root/examples/proxapp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/proxapp')
-rwxr-xr-xexamples/proxapp41
1 files changed, 41 insertions, 0 deletions
diff --git a/examples/proxapp b/examples/proxapp
new file mode 100755
index 00000000..cb1fd881
--- /dev/null
+++ b/examples/proxapp
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+import bottle
+import os
+from libmproxy import proxy, flow
+
+
+@bottle.route('/')
+def index():
+ return 'Hi!'
+
+
+class MyMaster(flow.FlowMaster):
+ def run(self):
+ try:
+ flow.FlowMaster.run(self)
+ except KeyboardInterrupt:
+ self.shutdown()
+
+ def handle_request(self, r):
+ f = flow.FlowMaster.handle_request(self, r)
+ if f:
+ r._ack()
+ return f
+
+ def handle_response(self, r):
+ f = flow.FlowMaster.handle_response(self, r)
+ if f:
+ r._ack()
+ print f
+ return f
+
+
+config = proxy.ProxyConfig(
+ cacert = os.path.expanduser("~/.mitmproxy/mitmproxy-ca.pem")
+)
+state = flow.State()
+server = proxy.ProxyServer(config, 8080)
+server.apps.add(bottle.app(), "proxapp", 80)
+m = MyMaster(server, state)
+m.run()
+