如果http POST请求大于x大小,则停止处理它

coo*_*eze 5 go

如果我有POST请求的基本http处理程序,如果有效负载大于100 KB,如何停止处理?

根据我的理解,在我的POST处理程序中,服务器在后台传输POSTED数据.但是,如果我尝试访问它,它会阻止正确吗?如果它的大小超过100 KB,我想停止处理.

Cer*_*món 10

使用http.MaxBytesReader限制从客户端读取的数据量.执行这行代码

r.Body = http.MaxBytesReader(w, r.Body, 100000) 
Run Code Online (Sandbox Code Playgroud)

在调用r.ParseForm,r.FormValue或任何其他读取正文的请求方法之前.

使用io.LimitedReader包装请求体限制了应用程序读取的数据量,但不一定限制服务器代表应用程序读取的数据量.

检查请求内容长度是不可靠的,因为当使用分块编码时,该字段未设置为实际请求主体大小.