aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-12-29 14:56:47 +0100
committerMaximilian Hils <git@maximilianhils.com>2014-12-29 14:56:47 +0100
commit333688b06ee029e809c2a7d10690c785e805f432 (patch)
tree20b124f2c2e33530f575fd5666394d37cbf55648 /libmproxy
parent51671b22a079b49a7e208b6e67dbfc9c8d7df129 (diff)
parent55970bf0cc493b57bb08d2b10837aedc11f5ac18 (diff)
downloadmitmproxy-333688b06ee029e809c2a7d10690c785e805f432.tar.gz
mitmproxy-333688b06ee029e809c2a7d10690c785e805f432.tar.bz2
mitmproxy-333688b06ee029e809c2a7d10690c785e805f432.zip
Merge branch 'master' of github.com:mitmproxy/mitmproxy
Diffstat (limited to 'libmproxy')
-rw-r--r--libmproxy/cmdline.py12
-rw-r--r--libmproxy/onboarding/app.py83
-rw-r--r--libmproxy/onboarding/templates/frame.html4
-rw-r--r--libmproxy/onboarding/templates/index.html2
-rw-r--r--libmproxy/onboarding/templates/layout.html2
5 files changed, 80 insertions, 23 deletions
diff --git a/libmproxy/cmdline.py b/libmproxy/cmdline.py
index ec03d63e..f5c66caa 100644
--- a/libmproxy/cmdline.py
+++ b/libmproxy/cmdline.py
@@ -195,6 +195,12 @@ def common_options(parser):
version= "%(prog)s" + " " + version.VERSION
)
parser.add_argument(
+ '--shortversion',
+ action= 'version',
+ help = "show program's short version number and exit",
+ version = version.VERSION
+ )
+ parser.add_argument(
"--anticache",
action="store_true", dest="anticache", default=False,
@@ -451,9 +457,9 @@ def common_options(parser):
"--replay-ignore-payload-param",
action="append", dest="replay_ignore_payload_params", type=str,
help="""
- Request's payload parameters (application/x-www-form-urlencoded) to
- be ignored while searching for a saved flow to replay.
- Can be passed multiple times.
+ Request's payload parameters (application/x-www-form-urlencoded) to
+ be ignored while searching for a saved flow to replay.
+ Can be passed multiple times.
"""
)
diff --git a/libmproxy/onboarding/app.py b/libmproxy/onboarding/app.py
index 4023fae2..f0aecc15 100644
--- a/libmproxy/onboarding/app.py
+++ b/libmproxy/onboarding/app.py
@@ -1,29 +1,80 @@
from __future__ import absolute_import
-import flask
import os
+import tornado.web
+import tornado.wsgi
+import tornado.template
+
+from .. import utils
from ..proxy import config
-mapp = flask.Flask(__name__)
-mapp.debug = True
+
+loader = tornado.template.Loader(utils.pkg_data.path("onboarding/templates"))
+
+
+class Adapter(tornado.wsgi.WSGIAdapter):
+ # Tornado doesn't make the WSGI environment available to pages, so this
+ # hideous monkey patch is the easiest way to get to the mitmproxy.master
+ # variable.
+ def __init__(self, application):
+ self._application = application
+
+ def application(self, request):
+ request.master = self.environ["mitmproxy.master"]
+ return self._application(request)
+
+ def __call__(self, environ, start_response):
+ self.environ = environ
+ return tornado.wsgi.WSGIAdapter.__call__(
+ self,
+ environ,
+ start_response
+ )
-def master():
- return flask.request.environ["mitmproxy.master"]
+class Index(tornado.web.RequestHandler):
+ def get(self):
+ t = loader.load("index.html")
+ self.write(t.generate())
-@mapp.route("/")
-def index():
- return flask.render_template("index.html", section="home")
+class PEM(tornado.web.RequestHandler):
+ def get(self):
+ p = os.path.join(
+ self.request.master.server.config.cadir,
+ config.CONF_BASENAME + "-ca-cert.pem"
+ )
+ self.set_header(
+ "Content-Type", "application/x-x509-ca-cert"
+ )
+ self.write(open(p, "rb").read())
-@mapp.route("/cert/pem")
-def certs_pem():
- p = os.path.join(master().server.config.cadir, config.CONF_BASENAME + "-ca-cert.pem")
- return flask.Response(open(p, "rb").read(), mimetype='application/x-x509-ca-cert')
+class P12(tornado.web.RequestHandler):
+ def get(self):
+ p = os.path.join(
+ self.request.master.server.config.cadir,
+ config.CONF_BASENAME + "-ca-cert.p12"
+ )
+ self.set_header(
+ "Content-Type", "application/x-pkcs12"
+ )
+ self.write(open(p, "rb").read())
-@mapp.route("/cert/p12")
-def certs_p12():
- p = os.path.join(master().server.config.cadir, config.CONF_BASENAME + "-ca-cert.p12")
- return flask.Response(open(p, "rb").read(), mimetype='application/x-pkcs12')
+application = tornado.web.Application(
+ [
+ (r"/", Index),
+ (r"/cert/pem", PEM),
+ (r"/cert/p12", P12),
+ (
+ r"/static/(.*)",
+ tornado.web.StaticFileHandler,
+ {
+ "path": utils.pkg_data.path("onboarding/static")
+ }
+ ),
+ ],
+ #debug=True
+)
+mapp = Adapter(application)
diff --git a/libmproxy/onboarding/templates/frame.html b/libmproxy/onboarding/templates/frame.html
index b5c5c67c..f00e1a66 100644
--- a/libmproxy/onboarding/templates/frame.html
+++ b/libmproxy/onboarding/templates/frame.html
@@ -3,7 +3,7 @@
<div class="row">
<div class="span12">
{% block body %}
- {% endblock %}
+ {% end %}
</div>
</div>
-{% endblock %}
+{% end %}
diff --git a/libmproxy/onboarding/templates/index.html b/libmproxy/onboarding/templates/index.html
index 65fda5d2..1bcff1b8 100644
--- a/libmproxy/onboarding/templates/index.html
+++ b/libmproxy/onboarding/templates/index.html
@@ -32,4 +32,4 @@
between mitmproxy installations.
</div>
-{% endblock %}
+{% end %}
diff --git a/libmproxy/onboarding/templates/layout.html b/libmproxy/onboarding/templates/layout.html
index 622858be..8726a788 100644
--- a/libmproxy/onboarding/templates/layout.html
+++ b/libmproxy/onboarding/templates/layout.html
@@ -25,7 +25,7 @@
<div class="container">
{% block content %}
- {% endblock %}
+ {% end %}
</div>
</body>