diff options
Diffstat (limited to 'examples/proxapp')
-rwxr-xr-x | examples/proxapp | 41 |
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() + |