handleMessage method

  1. @override
void handleMessage(
  1. dynamic message
)
override

Handles incoming message data and converts it to AMI messages.

Implementation

@override
void handleMessage(message) {
  try {
    final jsonData = json.decode(message);
    if (!_greetingSent) {
      _greetingSent = true;
      onReadGreeting('${jsonData['server_name']}/${jsonData['server_id']}');
    }
    final headers = jsonData['data'];
    switch (jsonData['type']) {
      case 4:
        final response = Response(BaseMessage.fromJson(MessageType.response, headers));
        onReadResponse(response);
        break;
      case 3:
        final event = Event(BaseMessage.fromJson(MessageType.event, headers));
        onReadEvent(event);
        break;
      default:
        print('can not handle unknown data $jsonData');
    }
  } catch (e) {
    print('not right data format $e');
  }
}