resolve method

Future<DnsRecord?> resolve(
  1. String name,
  2. DnsRecordType type
)

Implementation

Future<DnsRecord?> resolve(String name, DnsRecordType type) async {
  DnsRecord? record = _get(name, type);
  if (record != null) {
    return Future.value(record);
  }
  var uri = Uri.parse('$baseUrl?name=$name&type=${type.name}');
  var response = await client.get(uri, headers: {
    'accept': 'application/dns-json',
  });
  if (response.statusCode != 200) {
    Future.value(null);
  }
  var dnsResponse = DnsResponse.fromJson(json.decode(response.body));
  if (dnsResponse.status != 0) {
    return Future.value(null);
  }
  if (dnsResponse.answer.isEmpty) {
    return Future.value(null);
  }
  record = dnsResponse.answer.last;

  _set(name, type, record);

  return Future.value(record);
}