ツイストで POST リクエストの長さの制限をどのように設定しますか? 私はドキュメントを見回しましたが、何も見つかりません。デフォルトの制限を知っていれば、さらに役立ちます。
質問する
552 次
1 に答える
5
着信 POST データのサイズにデフォルトの制限があるとは思いませんが、Request.handleContentChunk()
メソッドを次のようにオーバーライドすることで、非常に簡単に制限を課すことができます。
from twisted.web import server
class SizeLimitingRequest(server.Request):
def handleContentChunk(self, data):
if self.content.tell() + len(data) > self.size_limit_on_post_data:
raise SomeKindOfError("too much data nooooooo")
return server.Request.handleContentChunk(self, data)
オーバーライドする実際のメソッドtwisted.web.http.Request
は、のスーパークラスである にありserver.Request
ます。光沢のある新しいクラスを利用するには、Site
インスタンスのrequestFactory
属性を設定するだけです:
mysite.requestFactory = SizeLimitingRequest
于 2012-07-11T23:39:31.543 に答える