From 46c5c9406cf76069df28098ea1bd873b33bd60d5 Mon Sep 17 00:00:00 2001 From: k2safe Date: Tue, 22 Sep 2026 22:43:07 +0800 Subject: [PATCH] fix: apply default HTTP2 body limit --- transport/http2/server.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/transport/http2/server.go b/transport/http2/server.go index 6df4e63..b92bdef 100644 --- a/transport/http2/server.go +++ b/transport/http2/server.go @@ -209,15 +209,17 @@ func (s *Server) Serve(ctx context.Context, listener net.Listener) error { } s.mu.Unlock() + maxBodyBytes := s.MaxBodyBytes + if maxBodyBytes <= 0 { + maxBodyBytes = defaultMaxBodyBytes + } requestHandler := http.Handler(http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) { - if s.MaxBodyBytes > 0 { - if request.ContentLength > s.MaxBodyBytes { - _ = request.Body.Close() - http.Error(writer, "request body too large\n", http.StatusRequestEntityTooLarge) - return - } - request.Body = http.MaxBytesReader(writer, request.Body, s.MaxBodyBytes) + if request.ContentLength > maxBodyBytes { + _ = request.Body.Close() + http.Error(writer, "request body too large\n", http.StatusRequestEntityTooLarge) + return } + request.Body = http.MaxBytesReader(writer, request.Body, maxBodyBytes) s.handler.ServeHTTP(writer, request) })) gate := &requestGate{server: s, next: requestHandler, slots: s.requestSlots}