From efa98d514c6a8b6670d808f2bddb7158a6741ff0 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Tue, 24 Apr 2012 14:58:18 +1200 Subject: [PATCH] Docs and comments for WSGI app example. --- examples/proxapp | 8 +++++++- libmproxy/wsgi.py | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/examples/proxapp b/examples/proxapp index cb1fd881a..e8179528a 100755 --- a/examples/proxapp +++ b/examples/proxapp @@ -1,9 +1,13 @@ #!/usr/bin/env python +""" + This example shows how to graft a WSGI app onto mitmproxy. In this + instance, we're using the Bottle framework (http://bottlepy.org/) to expose + a single simplest-possible page. +""" import bottle import os from libmproxy import proxy, flow - @bottle.route('/') def index(): return 'Hi!' @@ -35,6 +39,8 @@ config = proxy.ProxyConfig( ) state = flow.State() server = proxy.ProxyServer(config, 8080) +# Register the app using the magic domain "proxapp" on port 80. Requests to +# this domain and port combination will now be routed to the WSGI app instance. server.apps.add(bottle.app(), "proxapp", 80) m = MyMaster(server, state) m.run() diff --git a/libmproxy/wsgi.py b/libmproxy/wsgi.py index 8844ea3ec..9fb5f0c56 100644 --- a/libmproxy/wsgi.py +++ b/libmproxy/wsgi.py @@ -104,13 +104,17 @@ class WSGIAdaptor: except Exception, v: pass return errs.getvalue() - + class AppRegistry: def __init__(self): self.apps = {} def add(self, app, domain, port): + """ + Add a WSGI app to the registry, to be served for requests to the + specified domain, on the specified port. + """ self.apps[(domain, port)] = WSGIAdaptor(app, domain, port) def get(self, request):