code: func parseHeader(buf []byte, cursor *int, msg *Message) error {
  	if err := parsePriority(buf, cursor, msg); err != nil {
  		return err
  	}
  
  	if err := parseVersion(buf, cursor, msg); err != nil {
  		return err
  	}
  
  	if err := parseTimestamp(buf, cursor, msg); err != nil {
  		return err
  	}
  
  	var err error
  	if msg.Hostname, err = parseNextField(buf, cursor); err != nil {
  		return err
  	}
  
  	if msg.AppName, err = parseNextField(buf, cursor); err != nil {
  		return err
  	}
  
  	if msg.ProcID, err = parseNextField(buf, cursor); err != nil {
  		return err
  	}
  
  	if msg.MsgID, err = parseNextField(buf, cursor); err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // HEADER = PRI VERSION SP TIMESTAMP SP HOSTNAME SP APP-NAME SP PROCID SP MSGID