例えばファイルアップロード処理などでクライアントから予期しない大きなリクエストが送られてくると、サーバー側リソースを浪費させられてしまう。
net/httpパッケージのMaxBytesReader関数でリクエストのBodyをwrapしてやると、Readで制限サイズに達したらnon-EOF errorを返す様になる。
func upload(c web.C, w http.ResponseWriter, r *http.Request) {
r.Body = http.MaxBytesReader(w, r.Body, maxUploadSize)
// 残りの処理
制限に達した際のerror文字列は"http: request body too large"
リクエストのContent-Lengthヘッダチェックと併用するのがいいかな。