code: func (br *bufReader) ReadAll() []byte {
  	if br.err != nil {
  		return nil
  	}
  	buf := bytes.NewBuffer(make([]byte, 0, bytes.MinRead))
  	_, err := buf.ReadFrom(br)
  	if err != nil && br.err == nil {
  		br.err = err
  		return nil
  	}
  	return buf.Bytes()
  }
docs: // ReadAll reads from r until an error or EOF and returns the data it read.
  // A successful call returns err == nil, not err == EOF.
  // Because ReadAll is defined to read from src until EOF,
  // it does not treat an EOF from Read as an error to be reported.