func ParsePublishCommand()

in protocol.go [130:148]


func ParsePublishCommand(b []byte) (cmd PublishCommand, err error) {
	switch {
	case bytes.HasPrefix(b, messagePrefix):
		name, err := ParseBulkMessage(b[len(messagePrefix):])
		if err != nil {
			return cmd, err
		}

		return PublishCommand{IsPattern: false, ChannelOrPattern: name}, nil
	case bytes.HasPrefix(b, pmessagePrefix):
		name, err := ParseBulkMessage(b[len(pmessagePrefix):])
		if err != nil {
			return cmd, err
		}
		return PublishCommand{IsPattern: true, ChannelOrPattern: name}, nil
	default:
		return cmd, ErrWrongMessage
	}
}