diff --git a/golang/message.go b/golang/message.go index 00586b18c..9d1007f16 100644 --- a/golang/message.go +++ b/golang/message.go @@ -103,10 +103,21 @@ func (msg *Message) SetKeys(keys ...string) { msg.keys = keys } -func (msg *Message) GetProperties() map[string]string { +func (msg *Message) getOrNewProperties() map[string]string { + if msg.properties == nil { + msg.properties = make(map[string]string) + } return msg.properties } +func (msg *Message) GetProperties() map[string]string { + return msg.getOrNewProperties() +} + +func (msg *Message) AddProperty(key, value string) { + msg.getOrNewProperties()[key] = value +} + func (msg *Message) SetDelayTimestamp(deliveryTimestamp time.Time) { msg.deliveryTimestamp = &deliveryTimestamp }