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
}