From: Fredrik Tolf Date: Wed, 5 Jun 2013 10:59:12 +0000 (+0200) Subject: Merge branch 'master' of git.dolda2000.com:/srv/git/r/wrw X-Git-Url: http://www.dolda2000.com/gitweb/?a=commitdiff_plain;h=7756066bff7ee01d615cbce0d5ddd58441108bd6;hp=-c;p=wrw.git Merge branch 'master' of git.dolda2000.com:/srv/git/r/wrw --- 7756066bff7ee01d615cbce0d5ddd58441108bd6 diff --combined wrw/resp.py index a27a143,e901988..50ac6b1 --- a/wrw/resp.py +++ b/wrw/resp.py @@@ -42,7 -42,7 +42,7 @@@ class message(dispatch.restart) self.detail = detail def handle(self, req): - return skelfor(req).error(req, self.message, *self.detail) + return skelfor(req).message(req, self.message, *self.detail) class httperror(usererror): def __init__(self, status, message = None, detail = None): @@@ -70,5 -70,10 +70,11 @@@ class redirect(dispatch.restart) def handle(self, req): req.status(self.status, "Redirect") req.ohead["Location"] = proto.appendurl(proto.requrl(req), self.url) + req.ohead["Content-Length"] = 0 return [] + + class unmodified(dispatch.restart): + def handle(self, req): + req.status(304, "Not Modified") + req.ohead["Content-Length"] = "0" + return [] diff --combined wrw/sp/xhtml.py index d19fc99,447c1b1..e78d197 --- a/wrw/sp/xhtml.py +++ b/wrw/sp/xhtml.py @@@ -53,11 -53,10 +53,12 @@@ def forreq(req, tree) req.ohead["Content-Type"] = "text/html; charset=utf-8" buf = StringIO.StringIO() htmlindenter.output(buf, tree, doctype=(doctype, dtd), charset="utf-8") - return [buf.getvalue()] + ret = buf.getvalue() + req.ohead["Content-Length"] = len(ret) + return [ret] def xhtmlresp(callable): def wrapper(req): return forreq(req, callable(req)) + wrapper.__wrapped__ = callable return wrapper