aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/pathod.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-06-07 16:35:54 +1200
committerAldo Cortesi <aldo@nullcube.com>2012-06-07 16:35:54 +1200
commit9ae53aecd0b517c2e6149b9a70da2157bced7743 (patch)
treed1f970c87d34d0815970e9ee9b0f85be42453e85 /libpathod/pathod.py
parent26c8437e884f310ea80ed31209d3c926ced400e5 (diff)
downloadmitmproxy-9ae53aecd0b517c2e6149b9a70da2157bced7743.tar.gz
mitmproxy-9ae53aecd0b517c2e6149b9a70da2157bced7743.tar.bz2
mitmproxy-9ae53aecd0b517c2e6149b9a70da2157bced7743.zip
We can't sensibly unit test pages withhout firing up a server.
We've just added functionality to do this ourselves, so rip out the old stuff.
Diffstat (limited to 'libpathod/pathod.py')
-rw-r--r--libpathod/pathod.py197
1 files changed, 99 insertions, 98 deletions
diff --git a/libpathod/pathod.py b/libpathod/pathod.py
index ae7aa5ca..476d2676 100644
--- a/libpathod/pathod.py
+++ b/libpathod/pathod.py
@@ -3,104 +3,6 @@ import tornado.web, tornado.template, tornado.ioloop, tornado.httpserver
import rparse, utils, version
-class APILog(tornado.web.RequestHandler):
- def get(self):
- self.write(
- dict(
- d = self.application.get_log()
- )
- )
-
-
-class APILogClear(tornado.web.RequestHandler):
- def post(self):
- self.application.clear_log()
- self.write("OK")
-
-
-class APIShutdown(tornado.web.RequestHandler):
- def post(self):
- tornado.ioloop.IOLoop.instance().stop()
- self.write("OK")
-
-
-class APIInfo(tornado.web.RequestHandler):
- def get(self):
- self.write(
- dict(
- version = version.IVERSION
- )
- )
-
-
-class _Page(tornado.web.RequestHandler):
- def render(self, name, **kwargs):
- tornado.web.RequestHandler.render(self, name + ".html", **kwargs)
-
-
-class Index(_Page):
- name = "index"
- section = "main"
- def get(self):
- self.render(self.name, section=self.section, spec="")
-
-
-class Preview(_Page):
- name = "preview"
- section = "main"
- SANITY = 1024*1024
- def get(self):
- spec = self.get_argument("spec", None)
- args = dict(
- spec = spec,
- section = self.section,
- syntaxerror = None,
- error = None
- )
- try:
- r = rparse.parse(self.application.settings, spec)
- except rparse.ParseException, v:
- args["syntaxerror"] = str(v)
- args["marked"] = v.marked()
- return self.render(self.name, **args)
- if r.length() > self.SANITY:
- error = "Refusing to preview a response of %s bytes. This is for your own good."%r.length()
- args["error"] = error
- else:
- d = utils.DummyRequest()
- r.serve(d)
- args["output"] = d.getvalue()
- self.render(self.name, **args)
-
-
-class Help(_Page):
- name = "help"
- section = "help"
- def get(self):
- self.render(self.name, section=self.section)
-
-
-class Log(_Page):
- name = "log"
- section = "log"
- def get(self):
- self.render(self.name, section=self.section, log=self.application.log)
-
-
-class OneLog(_Page):
- name = "onelog"
- section = "log"
- def get(self, lid):
- l = pprint.pformat(self.application.log_by_id(int(lid)))
- self.render(self.name, section=self.section, alog=l, lid=lid)
-
-
-class ClearLog(_Page):
- def post(self):
- self.application.clear_logs()
- self.redirect("/log")
-
-
class Pathod(object):
def __init__(self, spec, application, request, **settings):
self.application, self.request, self.settings = application, request, settings
@@ -262,3 +164,102 @@ def run(server):
tornado.ioloop.IOLoop.instance().start()
server.stop()
+
+class APILog(tornado.web.RequestHandler):
+ def get(self):
+ self.write(
+ dict(
+ d = self.application.get_log()
+ )
+ )
+
+
+class APILogClear(tornado.web.RequestHandler):
+ def post(self):
+ self.application.clear_log()
+ self.write("OK")
+
+
+class APIShutdown(tornado.web.RequestHandler):
+ def post(self):
+ tornado.ioloop.IOLoop.instance().stop()
+ self.write("OK")
+
+
+class APIInfo(tornado.web.RequestHandler):
+ def get(self):
+ self.write(
+ dict(
+ version = version.IVERSION
+ )
+ )
+
+
+class _Page(tornado.web.RequestHandler):
+ def render(self, name, **kwargs):
+ tornado.web.RequestHandler.render(self, name + ".html", **kwargs)
+
+
+class Index(_Page):
+ name = "index"
+ section = "main"
+ def get(self):
+ self.render(self.name, section=self.section, spec="")
+
+
+class Preview(_Page):
+ name = "preview"
+ section = "main"
+ SANITY = 1024*1024
+ def get(self):
+ spec = self.get_argument("spec", None)
+ args = dict(
+ spec = spec,
+ section = self.section,
+ syntaxerror = None,
+ error = None
+ )
+ try:
+ r = rparse.parse(self.application.settings, spec)
+ except rparse.ParseException, v:
+ args["syntaxerror"] = str(v)
+ args["marked"] = v.marked()
+ return self.render(self.name, **args)
+ if r.length() > self.SANITY:
+ error = "Refusing to preview a response of %s bytes. This is for your own good."%r.length()
+ args["error"] = error
+ else:
+ d = utils.DummyRequest()
+ r.serve(d)
+ args["output"] = d.getvalue()
+ self.render(self.name, **args)
+
+
+class Help(_Page):
+ name = "help"
+ section = "help"
+ def get(self):
+ self.render(self.name, section=self.section)
+
+
+class Log(_Page):
+ name = "log"
+ section = "log"
+ def get(self):
+ self.render(self.name, section=self.section, log=self.application.log)
+
+
+class OneLog(_Page):
+ name = "onelog"
+ section = "log"
+ def get(self, lid):
+ l = pprint.pformat(self.application.log_by_id(int(lid)))
+ self.render(self.name, section=self.section, alog=l, lid=lid)
+
+
+class ClearLog(_Page):
+ def post(self):
+ self.application.clear_logs()
+ self.redirect("/log")
+
+