+
+def handleenv(env, startreq, handler):
+ if not "HTTP_HOST" in env:
+ return proto.simpleerror(env, startreq, 400, "Bad Request", "Request must include Host header.")
+ r = req.origrequest(env)
+ return handle(r, startreq, handler)
+
+def exterror(env, startreq):
+ def handler(req):
+ from . import resp
+ code = 404
+ if "Response-Code" in req.ihead:
+ try:
+ code = int(req.ihead["Response-Code"])
+ except ValueError:
+ pass
+ raise resp.httperror(code)
+ return handleenv(env, startreq, handler)