私は竜巻RequestHandler
と@tornado.web.stream_request_body
デコレータを持っていて、ハンドラへのチャンクストリーミングを許可しています。竜巻のストリーミングリクエストを正常に終了
ストリーミングを許可する前に、認証などのチェックを行う必要があります。マイprepare()
方法を
requests.exceptions.ConnectionError: [Errno 32] Broken pipe
:私はRequestHandler.prepare()
方法でこれらを実装しようとしたが、私はハンドラにデータをストリーミングするrequests
を使用する場合、およびチェックが失敗し、接続が突然閉鎖され、私は例外を参照してください次のようになります。
def prepare(self):
check = some_function()
if not check:
self.set_status(400)
self.write('some error message')
self.finish()
return
は、どのように私は、要求が正常に閉じられているチェックが失敗した場合ので、私はクライアントにエラーメッセージを返すことができることを確認することができますか?
'@coroutine'で' prepare'をラップしようとすると、それはあなたがチェックを終えるのを待つようにします。したがって、 'some_function'もコルーチンである必要があります。 – desertkun