update HTTP/3 errors

This commit is contained in:
Marten Seemann
2019-09-04 12:02:04 +07:00
parent d689f9a392
commit f9bbac8b04
5 changed files with 54 additions and 73 deletions

View File

@@ -187,12 +187,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)