Skip to content
Browse files

Docs and comments for WSGI app example.

  • Loading branch information...
1 parent c8d2b25 commit efa98d514c6a8b6670d808f2bddb7158a6741ff0 @cortesi cortesi committed Apr 24, 2012
Showing with 12 additions and 2 deletions.
  1. +7 −1 examples/proxapp
  2. +5 −1 libmproxy/wsgi.py
View
8 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()
View
6 libmproxy/wsgi.py
@@ -104,13 +104,17 @@ def start_response(status, headers, exc_info=None):
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):

0 comments on commit efa98d5

Please sign in to comment.
Something went wrong with that request. Please try again.