Merge branch 'master' of git.dolda2000.com:/srv/git/r/wrw
authorFredrik Tolf <fredrik@dolda2000.com>
Wed, 5 Jun 2013 10:59:12 +0000 (12:59 +0200)
committerFredrik Tolf <fredrik@dolda2000.com>
Wed, 5 Jun 2013 10:59:12 +0000 (12:59 +0200)
1  2 
wrw/resp.py
wrw/sp/xhtml.py

diff --combined 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
@@@ -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