[][src]Struct doh_dns::Dns

pub struct Dns<C: DnsClient> { /* fields omitted */ }

The main interface to this library. It provides all functions to query records.

Methods

impl<C: DnsClient> Dns<C>[src]

pub fn with_servers(servers: &[DnsHttpsServer]) -> Result<Dns<C>, DnsError>[src]

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.

pub async fn resolve_mx_and_sort<'_, '_>(
    &'_ self,
    domain: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Returns MX records in order of priority for the given name. It removes the priorities from the data.

impl<C: DnsClient> Dns<C>[src]

pub async fn resolve_a<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a host address for the given name.

pub async fn resolve_aaaa<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries an IP6 Address for the given name.

pub async fn resolve_any<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries all record types for a given name.

pub async fn resolve_caa<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a certification authority restriction record for the given name.

pub async fn resolve_cds<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a child DS record for the given name.

pub async fn resolve_cert<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a CERT record for the given name.

pub async fn resolve_cname<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries the canonical name for an alias for the given name.

pub async fn resolve_dname<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a DNAME record for the given name.

pub async fn resolve_dnskey<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a DNSKEY record for the given name.

pub async fn resolve_ds<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a delegation signer record for the given name.

pub async fn resolve_hinfo<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a host information record for the given name.

pub async fn resolve_ipseckey<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a IPSECKEY record for the given name.

pub async fn resolve_mx<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a mail exchange record for the given name.

pub async fn resolve_naptr<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a naming authority pointer record for the given name.

pub async fn resolve_ns<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries an authoritative name server record for the given name.

pub async fn resolve_nsec<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a NSEC record for the given name.

pub async fn resolve_nsec3<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a NSEC3 record for the given name.

pub async fn resolve_nsec3param<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a NSEC3PARAM record for the given name.

pub async fn resolve_ptr<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a domain name pointer record for the given name.

pub async fn resolve_rp<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a responsible person record for the given name.

pub async fn resolve_rrsig<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a RRSIG record for the given name.

pub async fn resolve_soa<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries the start of a zone of authority record for the given name.

pub async fn resolve_spf<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries an SPF record for the given name. See RFC7208.

pub async fn resolve_srv<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a server selection record for the given name.

pub async fn resolve_sshfp<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries an SSH key fingerprint record for the given name.

pub async fn resolve_tlsa<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a TLSA record for the given name.

pub async fn resolve_txt<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

Queries a text strings record for the given name.

pub async fn resolve_wks<'_, '_>(
    &'_ self,
    name: &'_ str
) -> Result<Vec<DnsAnswer>, DnsError>
[src]

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>
[src]

pub fn rtype_to_name(&self, rtype: u32) -> String[src]

Converts the given record type to a string representation.

Trait Implementations

impl Default for Dns<HyperDnsClient>[src]

Auto Trait Implementations

impl<C> Send for Dns<C> where
    C: Send

impl<C> Sync for Dns<C> where
    C: Sync

impl<C> Unpin for Dns<C> where
    C: Unpin

impl<C> UnwindSafe for Dns<C> where
    C: UnwindSafe

impl<C> RefUnwindSafe for Dns<C> where
    C: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]