私はTwistedを初めて使用し、static.Fileのtwistedに必要なサブクラス化に問題があります。サブクラス内にリクエストヘッダーを設定しようとしています。
class ResponseFile(static.File):
def render_GET(self, request):
request.setHeader('Content-Disposition', ['attachment ; filename="tick_db_export.csv"'])
static.File.render_GET(self, request)
if __name__ == "__main__":
from twisted.internet import reactor
root = ResponseFile('WebFolder')
testHandler = TestHandler()
root.putChild('main', testHandler)
reactor.listenTCP(3650, server.Site(root))
reactor.run()
コードの最初のビットはサブクラス定義自体(非常に単純です)であり、2番目のビットは私のコードの初期化部分です(これは私のコードのすべてではありません)。TestHandlerというresource.Resourceオブジェクトもサブクラス化しました。WebFolderは、多くの静的ファイルを含む別のフォルダーです。
ただし、サーバーを呼び出すときに、これらのタイプの例外のほとんどが発生します。
Unhandled Error
Traceback (most recent call last):
Failure: exceptions.RuntimeError: Producer was not unregistered for /
ルート以外の多くの異なるパスを使用します。