我使用Tornado实现简单的ReST Web服务。在回复错误代码时,我想自定义原因字符串。我试图通过指定原因字符串来使用web.RequestHandler.set_status()。
我的日志记录显示_reason设置为我指定的字符串,但这不是调用self.finish()后返回的内容。我不确定为什么。
帮助表示赞赏。
我的send_error_with_code助手功能:
def send_error_with_code(self, status_code, err, allow=[]):
log.info("in send_error_with_code: %s:%s", status_code, str(err))
self.set_status(status_code, reason=str(err))
log.info("self._reason is %s", self._reason)
if status_code == 500:
log.exception(str(err))
else:
log.error(str(err))
if allow:
self.set_header('Allow', ', '.join(allow))
self.finish()
在将任何其他输出返回给客户端之前,从异常处理程序调用它。