2

ツイストで POST リクエストの長さの制限をどのように設定しますか? 私はドキュメントを見回しましたが、何も見つかりません。デフォルトの制限を知っていれば、さらに役立ちます。

4

1 に答える 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 に答える