resolveDNSLink method

Future<String> resolveDNSLink(
  1. String domainName
)

Resolves a DNSLink to its corresponding CID.

Implementation

Future<String> resolveDNSLink(String domainName) async {
  try {
    // First try resolving through the routing handler
    final cid = await _container.get<ContentRoutingHandler>().resolveDNSLink(
      domainName,
    );
    if (cid != null) {
      return cid;
    }

    // If routing handler fails, try DHT handler
    final dhtCid = await _container.get<DHTHandler>().resolveDNSLink(
      domainName,
    );
    if (dhtCid != null) {
      return dhtCid;
    }

    throw Exception('Failed to resolve DNSLink for domain: $domainName');
  } catch (e) {
    // print('Error resolving DNSLink for domain $domainName: $e');
    rethrow;
  }
}