onMessage method
dynamic
onMessage(
- Payload payload
)
override
Implementation
@override
onMessage(Payload payload) {
// enabled?
if (!enabled) return;
// increment the number of messages received
_received.set(received + 1);
// set last topic bindable
_topic.set(payload.topic);
// set last message bindable
_message.set(payload.message);
// deserialize the data
Data data = Data.from(payload.message, root: root);
// if the message didn't deserialize (length 0)
// so create a simple map with topic and message bindables <id>.data.topic and <id>.data.message
// otherwise the data is the deserialized message payload
if (data.isEmpty) {
data.insert(0, {'topic': payload.topic, 'message': payload.message});
}
// fire the onresponse
onSuccess(data, code: HttpStatus.ok, onSuccessOverride: _onmessage);
}