func()

in src/message/messageparser.go [225:247]


func (clientMessage *ClientMessage) Validate() error {
	if StartPublicationMessage == clientMessage.MessageType ||
		PausePublicationMessage == clientMessage.MessageType {
		return nil
	}
	if clientMessage.HeaderLength == 0 {
		return errors.New("HeaderLength cannot be zero")
	}
	if clientMessage.MessageType == "" {
		return errors.New("MessageType is missing")
	}
	if clientMessage.CreatedDate == 0 {
		return errors.New("CreatedDate is missing")
	}
	if clientMessage.PayloadLength != 0 {
		hasher := sha256.New()
		hasher.Write(clientMessage.Payload)
		if !bytes.Equal(hasher.Sum(nil), clientMessage.PayloadDigest) {
			return errors.New("payload Hash is not valid")
		}
	}
	return nil
}