Merge pull request #2112 from lucas-clemente/update-h3-errors

update HTTP/3 errors
This commit is contained in:
Marten Seemann
2019-09-05 15:01:58 +07:00
committed by GitHub
5 changed files with 54 additions and 73 deletions

View File

@@ -200,12 +200,12 @@ func (s *Server) handleRequest(str quic.Stream, decoder *qpack.Decoder) error {
return errors.New("expected first frame to be a headers frame")
}
if hf.Length > s.maxHeaderBytes() {
str.CancelWrite(quic.ErrorCode(errorLimitExceeded))
str.CancelWrite(quic.ErrorCode(errorFrameError))
return fmt.Errorf("Headers frame too large: %d bytes (max: %d)", hf.Length, s.maxHeaderBytes())
}
headerBlock := make([]byte, hf.Length)
if _, err := io.ReadFull(str, headerBlock); err != nil {
str.CancelWrite(quic.ErrorCode(errorIncompleteRequest))
str.CancelWrite(quic.ErrorCode(errorRequestIncomplete))
return err
}
hfs, err := decoder.DecodeFull(headerBlock)