(v decodedMessage)
| 105 | } |
| 106 | |
| 107 | func decodeMessage(v decodedMessage) (*message.Message, error) { |
| 108 | payload, err := v.MessageType.Payload() |
| 109 | if err != nil { |
| 110 | return nil, err |
| 111 | } |
| 112 | |
| 113 | if payload != nil { |
| 114 | if err := mapstructure.Decode(v.Payload, &payload); err != nil { |
| 115 | return nil, err |
| 116 | } |
| 117 | } |
| 118 | return &message.Message{ |
| 119 | ConnectionID: v.ConnectionID, |
| 120 | Timestamp: v.Timestamp, |
| 121 | MessageType: v.MessageType, |
| 122 | Payload: payload, |
| 123 | ChannelID: v.ChannelID, |
| 124 | }, nil |
| 125 | } |