resolve method
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);
}