code: func (h *RequestHeader) Read(r *bufio.Reader) error {
  	n := 1
  	for {
  		err := h.tryRead(r, n)
  		if err == nil {
  			return nil
  		}
  		if err != errNeedMore {
  			h.resetSkipNormalize()
  			return err
  		}
  		n = r.Buffered() + 1
  	}
  }
docs: // Read reads request header from r.
  //
  // io.EOF is returned if r is closed before reading the first header byte.