onMessage method

  1. @override
dynamic onMessage(
  1. 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);
}