# Module hyper::client::connect::dns [−] [src]

DNS Resolution used by the `HttpConnector`.

This module contains:

- A `GaiResolver` that is the default resolver for the `HttpConnector`.
- The `Name` type used as an argument to custom resolvers.

# Resolvers are `Service`s

A resolver is just a `Service<Name, Response = impl Iterator<Item = SocketAddr>>`.

A simple resolver that ignores the name and always returns a specific address:

ⓘ

    use std::{convert::Infallible, iter, net::SocketAddr};

    let resolver = tower::service_fn(|_name| async {
        Ok::<_, Infallible>(iter::once(SocketAddr::from(([127, 0, 0, 1], 8080))))
    });

## Structs

GaiAddrs | An iterator of IP addresses returned from `getaddrinfo`.
GaiFuture | A future to resolve a name returned by `GaiResolver`.
GaiResolver | A resolver using blocking `getaddrinfo` calls in a threadpool.
InvalidNameError | Error indicating a given string was not a valid domain name.
Name | A domain name to resolve into IP addresses.