Я искал вокруг и, насколько я могу судить, запросы формы POST уже ограничены 10 МБ (http://golang.org/src/net/http/request.go#L721).
Если бы мне пришлось уменьшить это в моем методе ServeHTTP
, я не уверен, как правильно это сделать. Я бы попробовал что-то вроде этого:
r.Body = http.MaxBytesReader(w, r.Body, MaxFileSize)
err := r.ParseForm()
if err != nil {
//redirect to some error page
return
}
Но вернется ли ошибка при закрытии соединения? Как я мог бы запретить читать все? Я нашел это: qaru.site/info/414738/..., но что, если длина контента не установлена и в середине чтения я понимаю, что файл слишком большой.
Я использую это как меру безопасности, чтобы не допустить, чтобы кто-то задерживал мои серверные ресурсы.