2017-04-06 15 views
0

私は電子メールを送信する基本的な要求のためのAPIとしてTornadoを使用しています。 送信結果に応じて、私はそれに応じてリクエストを終了したいと思います。竜巻のリクエストを正しく終了するには?

これは私がやったことです:

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

関連する問題