+
+class redirect(dispatch.restart):
+ def __init__(self, url, status = 303):
+ super(redirect, self).__init__()
+ self.url = url
+ self.status = status
+
+ def handle(self, req):
+ req.status(self.status, "Redirect")
+ req.ohead["Location"] = proto.appendurl(proto.requrl(req), self.url)
+ return []
+
+class unmodified(dispatch.restart):
+ def handle(self, req):
+ req.status(304, "Not Modified")
+ req.ohead["Content-Length"] = "0"
+ return []