簡體   English   中英

如何正確結束龍卷風請求?

[英]How to correctly end tornado requests?

我正在使用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}或類似的名稱返回。

只需write

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

而不是self.finish

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM