fix(httphandler): use readSlice for reading http header

This commit is contained in:
2026-07-18 15:29:01 +07:00
parent 9d623ae3f9
commit 54c1b23dd7
+7 -1
View File
@@ -56,8 +56,14 @@ func (hh *httpHandler) badRequest(conn net.Conn) error {
func readHTTPHeader(br *bufio.Reader, limit int) ([]byte, error) { func readHTTPHeader(br *bufio.Reader, limit int) ([]byte, error) {
var headerBuf []byte var headerBuf []byte
for { for {
line, err := br.ReadBytes('\n') line, err := br.ReadSlice('\n')
headerBuf = append(headerBuf, line...) headerBuf = append(headerBuf, line...)
if errors.Is(err, bufio.ErrBufferFull) {
if len(headerBuf) > limit {
return nil, fmt.Errorf("headers too large")
}
continue
}
if err != nil { if err != nil {
return nil, err return nil, err
} }