pub struct Dns<C: DnsClient> { /* private fields */ }Expand description
The main interface to this library. It provides all functions to query records.
Implementations§
Source§impl<C: DnsClient> Dns<C>
impl<C: DnsClient> Dns<C>
Sourcepub fn with_servers(servers: &[DnsHttpsServer]) -> Result<Dns<C>, DnsError>
pub fn with_servers(servers: &[DnsHttpsServer]) -> Result<Dns<C>, DnsError>
Creates an instance with the given servers along with their respective timeouts (in seconds). These servers are tried in the given order. If a request fails on the first one, each subsequent server is tried. Only on certain failures a new request is retried such as a connection failure or certain server return codes.
Source§impl<C: DnsClient> Dns<C>
impl<C: DnsClient> Dns<C>
Sourcepub async fn resolve_a(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_a(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a host address for the given name.
Sourcepub async fn resolve_aaaa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_aaaa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries an IP6 Address for the given name.
Sourcepub async fn resolve_any(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_any(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries all record types for a given name.
Sourcepub async fn resolve_caa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_caa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a certification authority restriction record for the given name.
Sourcepub async fn resolve_cds(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_cds(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a child DS record for the given name.
Sourcepub async fn resolve_cert(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_cert(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a CERT record for the given name.
Sourcepub async fn resolve_cname(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_cname( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries the canonical name for an alias for the given name.
Sourcepub async fn resolve_dname(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_dname( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a DNAME record for the given name.
Sourcepub async fn resolve_dnskey(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_dnskey( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a DNSKEY record for the given name.
Sourcepub async fn resolve_ds(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_ds(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a delegation signer record for the given name.
Sourcepub async fn resolve_hinfo(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_hinfo( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a host information record for the given name.
Sourcepub async fn resolve_ipseckey(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_ipseckey( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a IPSECKEY record for the given name.
Sourcepub async fn resolve_mx(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_mx(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a mail exchange record for the given name.
Sourcepub async fn resolve_naptr(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_naptr( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a naming authority pointer record for the given name.
Sourcepub async fn resolve_ns(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_ns(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries an authoritative name server record for the given name.
Sourcepub async fn resolve_nsec(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_nsec(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a NSEC record for the given name.
Sourcepub async fn resolve_nsec3(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_nsec3( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a NSEC3 record for the given name.
Sourcepub async fn resolve_nsec3param(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_nsec3param( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a NSEC3PARAM record for the given name.
Sourcepub async fn resolve_ptr(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_ptr(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a domain name pointer record for the given name.
Sourcepub async fn resolve_rp(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_rp(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a responsible person record for the given name.
Sourcepub async fn resolve_rrsig(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_rrsig( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries a RRSIG record for the given name.
Sourcepub async fn resolve_soa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_soa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries the start of a zone of authority record for the given name.
Sourcepub async fn resolve_spf(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_spf(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries an SPF record for the given name. See RFC7208.
Sourcepub async fn resolve_srv(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_srv(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a server selection record for the given name.
Sourcepub async fn resolve_sshfp(
&self,
name: &str,
) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_sshfp( &self, name: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Queries an SSH key fingerprint record for the given name.
Sourcepub async fn resolve_tlsa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_tlsa(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a TLSA record for the given name.
Sourcepub async fn resolve_txt(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_txt(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a text strings record for the given name.
Sourcepub async fn resolve_wks(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
pub async fn resolve_wks(&self, name: &str) -> Result<Vec<DnsAnswer>, DnsError>
Queries a well known service description record for the given name.
pub async fn resolve_str_type( &self, name: &str, rtype: &str, ) -> Result<Vec<DnsAnswer>, DnsError>
Sourcepub fn rtype_to_name(&self, rtype: u32) -> String
pub fn rtype_to_name(&self, rtype: u32) -> String
Converts the given record type to a string representation.