func ParseBulkMessage()

in protocol.go [106:126]


func ParseBulkMessage(line []byte) ([]byte, error) {
	if line[0] != MessageBulk {
		return nil, ErrWrongMessage
	}

	delimiter := bytes.IndexByte(line, '\n')

	n, err := strconv.ParseInt(string(line[1:delimiter-1]), 10, 64)
	if err != nil {
		return nil, err
	}
	if n <= 0 {
		return nil, nil
	}

	if len(line) <= delimiter+1+int(n) {
		return nil, ErrWrongMessage
	}

	return line[delimiter+1 : delimiter+1+int(n)], nil
}