带有原因字符串的Python Tornado的web.RequestHandler.set_status()似乎被忽略了

时间:2014-04-08 20:40:10

标签: python tornado

我使用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()

在将任何其他输出返回给客户端之前,从异常处理程序调用它。

0 个答案:

没有答案