aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'libpathod/app.py')
-rw-r--r--libpathod/app.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/libpathod/app.py b/libpathod/app.py
index ac118602..ef549334 100644
--- a/libpathod/app.py
+++ b/libpathod/app.py
@@ -1,4 +1,4 @@
-import urllib
+import urllib, pprint
import tornado.web, tornado.template, tornado.ioloop, tornado.httpserver
import rparse, utils
@@ -48,7 +48,20 @@ class Pathod(object):
)
def _execute(self, transforms, *args, **kwargs):
- self.response.render(self.request)
+ d = self.response.serve(self.request)
+ d["request"] = dict(
+ path = self.request.path,
+ method = self.request.method,
+ headers = self.request.headers,
+ host = self.request.host,
+ protocol = self.request.protocol,
+ remote_address = self.request.connection.address,
+ full_url = self.request.full_url(),
+ query = self.request.query,
+ version = self.request.version,
+ uri = self.request.uri,
+ )
+ self.application.add_log(d)
class RequestPathod(Pathod):
@@ -59,6 +72,7 @@ class RequestPathod(Pathod):
class PathodApp(tornado.web.Application):
+ LOGBUF = 500
def __init__(self, **settings):
self.templates = tornado.template.Loader(utils.data.path("templates"))
self.appsettings = settings
@@ -75,6 +89,8 @@ class PathodApp(tornado.web.Application):
template_path = utils.data.path("templates"),
debug=True
)
+ self.log = []
+ self.logid = 0
def add_anchor(self, pattern, spec):
"""
@@ -116,6 +132,13 @@ class PathodApp(tornado.web.Application):
del l[i]
return
+ def add_log(self, d):
+ d["id"] = self.logid
+ self.log.insert(0, d)
+ if len(self.log) > self.LOGBUF:
+ self.log.pop()
+ self.logid += 1
+
# begin nocover
def run(application, port, ssl_options):