2

twisted.web でリクエストを処理する前後にフックを追加するにはどうすればよいですか (twisted.web2 も問題ありません)。webpy に相当するもの:

app = web.application(urls, globals())
app.add_processor(web.loadhook(my_attach_callback))
app.add_processor(web.unloadhook(my_detach_callback))

ありがとう!

4

1 に答える 1

1

Twisted Webが許可する1つのアプローチは、リソース階層に追加のリソースを挿入することです。その唯一の目的は、リソースが通常行うように要求URLのセグメントを実際に処理するのではなく、カスタムフックを実行することです。

このアプローチの実装は、HTTPAuthSessionWrapperリソース(twisted.web.guardで公開されている)を実装するtwisted / web / _auth/wrapper.pyにあります。getChildWithDefault最初の行は、リソースがリクエストセグメントの1つを消費しないことを保証することに注意してください。これにより、リソース階層内に配置し、動作を変更できますが、URLのディスパッチ方法を変更することはできません。

于 2010-11-01T14:09:38.087 に答える