query method
查询单个 DNS 服务器 / Queries a single DNS server.
Implementation
Future<DnsTestResult> query({
required String domain,
required String server,
Duration? timeout,
}) {
if (server.toLowerCase() == 'system') {
return resolveWithSystemResolver(domain: domain, timeout: timeout);
}
final doh = _dohForServer(server);
if (doh == null) {
return Future<DnsTestResult>.value(
DnsTestResult(
server: server,
domain: domain,
isSuccess: false,
responseTime: Duration.zero,
errorMessage:
'Raw UDP DNS is unavailable on the web; this server has no DoH '
'endpoint.',
timestamp: DateTime.now(),
),
);
}
return _queryDoH(
domain: domain,
dohUrl: doh,
timeout: timeout ?? defaultTimeout,
serverLabel: server,
);
}