eventHandler method

  1. @override
Map eventHandler(
  1. String event,
  2. dynamic data
)
override

Implementation

@override
Map eventHandler(String event, data) {
  if (event == 'channel_subscribe_success') {
    return super.eventHandler(event, data);
  }

  if (data is Map) {
    if (authData?.sharedSecret == null) {
      throw Exception(
        'The shared secret is required to decrypt the event data for event: $event',
      );
    }

    if (data.containsKey("ciphertext") && data.containsKey('nonce')) {
      return {
        'event': event,
        'data': (options as SocketIoConnectorOptions)
            .decryptChannelData(authData!.sharedSecret!, data),
      };
    }
  } else {
    throw Exception(
      'Invalid event data type for event: $event, expected Map but got ${data.runtimeType}',
    );
  }

  return data;
}