code: func (r *reader) ReadHeader() (string, string, bool, error) {
  	line, err := r.readLine()
  	if err != nil {
  		return "", "", false, err
  	}
  	if line := string(line); line == "\r\n" || line == "\n" {
  		return "", "", true, nil
  	}
  	v := bytes.SplitN(line, []byte(":"), 2)
  	if len(v) != 2 {
  		return "", "", false, fmt.Errorf("invalid header line: %q", line)
  	}
  	return string(bytes.TrimSpace(v[0])), string(bytes.TrimSpace(v[1])), false, nil
  }
docs: // ReadHeader reads a http header.