self.assertEqual(response.code, 503)
self.assertTrue(b"503: Service Unavailable" in response.body)
+ response = self.fetch("/default?status=435")
+ self.assertEqual(response.code, 435)
+ self.assertTrue(b"435: Unknown" in response.body)
+
def test_write_error(self):
with ExpectLog(app_log, "Uncaught exception"):
response = self.fetch("/write_error")
response = self.fetch("/?code=682&reason=Bar")
self.assertEqual(response.code, 682)
self.assertEqual(response.reason, "Bar")
- with ExpectLog(app_log, 'Uncaught exception'):
- response = self.fetch("/?code=682")
- self.assertEqual(response.code, 500)
+ response = self.fetch("/?code=682")
+ self.assertEqual(response.code, 682)
+ self.assertEqual(response.reason, "Unknown")
@wsgi_safe
if reason is not None:
self._reason = escape.native_str(reason)
else:
- try:
- self._reason = httputil.responses[status_code]
- except KeyError:
- raise ValueError("unknown status code %d" % status_code)
+ self._reason = httputil.responses.get(status_code, "Unknown")
def get_status(self):
"""Returns the status code for our response."""
# send a response.
return
if isinstance(e, HTTPError):
- if e.status_code not in httputil.responses and not e.reason:
- gen_log.error("Bad HTTP status code: %d", e.status_code)
- self.send_error(500, exc_info=sys.exc_info())
- else:
- self.send_error(e.status_code, exc_info=sys.exc_info())
+ self.send_error(e.status_code, exc_info=sys.exc_info())
else:
self.send_error(500, exc_info=sys.exc_info())