2017-04-06 23 views
0

我使用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}或类似的东西回来,电子邮件失败,即使发送。

回答

0

简单write

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

,而不是self.finish