initializeClient method

void initializeClient()

Implementation

void initializeClient() {
  log("🧰 Initializing GraphQL client...");
  final httpLink = HttpLink(
    _config.graphQlEndPoint,
    defaultHeaders: {
      'Authorization': 'Bearer ${_config.token?.accessToken ?? ''}',
    },
  );

  final socketUrl =
      _config.webSocketUrl != null
          ? "${_config.webSocketUrl}?token=${_config.token!.accessToken}"
          : "";

  if (_config.webSocketUrl != null) {
    log("📡 ActionCable WebSocket initialized: $socketUrl");
  }

  final actionCableLink = ActionCableLink(socketUrl);

  final link = Link.split(
    (request) => request.isSubscription,
    actionCableLink,
    httpLink,
  );

  _client = GraphQLClient(cache: GraphQLCache(), link: link);
}