Пример #1
0
func (rp *ReceiverParser) Parse(newPost *post.Post, raw []byte) post.Flow {

	if rp.count > 2 {
		rp.err = errors.New("parse receiver failed: out of range")
		return post.Error
	}

	if !bytes.HasPrefix(raw, []byte("\nHi")) {
		rp.count += 1
		return post.Continue
	}

	fields := bytes.Split(raw, []byte(","))
	if len(fields) != 2 {
		rp.err = errors.New(fmt.Sprintf("parse receiver failed: %s", raw))
		return post.Error
	}

	newPost.Receiver = string(bytes.TrimSpace(fields[1]))
	return post.Next
}