如何正确结束龙卷风请求?

时间:2017-04-06 06:40:51

标签: python tornado

我正在使用Tornado作为发送电子邮件的基本请求的API。 根据发送结果,我想相应地完成请求。

这就是我所做的:

def get_routes(tornado_config):
    return [
        (r"/send", EmailHandler, tornado_config)
    ]

这是在EmailHandler内,结果是发送电子邮件的回复:

if result:
        self.set_status(200)
        self.finish(json.dumps({"status":"ok", "result":result}))
        return ''
else:

        self.set_status(500)
        self.finish(json.dumps({"status": "error", "result":result }))
        return ''

问题是self.set_status (500)似乎没有添加500标题。

其他解决方案是:

    if result:
        return "ok"
    else:

        return "Message not sent"

但这并不尊重任何标准,因为它会在json {"status":"success", "data":false}或类似的东西上返回,即使发送电子邮件失败也是如此。

1 个答案:

答案 0 :(得分:0)

只需write

self.write({"status":"ok", "result":result})

而不是self.finish