扭曲的长度限制

时间:2012-07-11 18:05:36

标签: http post twisted

如何设置扭曲的POST请求长度限制?我环顾了一下文档并找不到任何东西。如果我知道默认限制,它甚至会有所帮助。

1 个答案:

答案 0 :(得分: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