diff --git a/common/client-core/src/init/websockets.rs b/common/client-core/src/init/websockets.rs index 6d09a325b0..ba407623a6 100644 --- a/common/client-core/src/init/websockets.rs +++ b/common/client-core/src/init/websockets.rs @@ -30,7 +30,6 @@ pub(crate) async fn connect_async( resolver .resolve_str(domain) .await? - .into_iter() .map(|a| SocketAddr::new(a, port)) .collect() } diff --git a/common/client-libs/gateway-client/src/client/websockets.rs b/common/client-libs/gateway-client/src/client/websockets.rs index 9b04c9e028..2336549d5e 100644 --- a/common/client-libs/gateway-client/src/client/websockets.rs +++ b/common/client-libs/gateway-client/src/client/websockets.rs @@ -39,7 +39,6 @@ pub(crate) async fn connect_async( resolver .resolve_str(domain) .await? - .into_iter() .map(|a| SocketAddr::new(a, port)) .collect() } diff --git a/common/http-api-client/src/dns.rs b/common/http-api-client/src/dns.rs index 158a867f4e..216fef032b 100644 --- a/common/http-api-client/src/dns.rs +++ b/common/http-api-client/src/dns.rs @@ -218,7 +218,10 @@ impl Iterator for SocketAddrs { impl HickoryDnsResolver { /// Attempt to resolve a domain name to a set of ['IpAddr']s - pub async fn resolve_str(&self, name: &str) -> Result { + pub async fn resolve_str( + &self, + name: &str, + ) -> Result + use<>, ResolveError> { let n = Name::from_str(name).map_err(|_| ResolveError::InvalidNameError(name.to_string()))?; resolve( @@ -230,6 +233,7 @@ impl HickoryDnsResolver { self.overall_dns_timeout, ) .await + .map(|addrs| addrs.map(|socket_addr| socket_addr.ip())) } /// Create a (lazy-initialized) resolver that is not shared across threads. @@ -414,8 +418,8 @@ mod test { resolver.set_static_fallbacks(addr_map); let mut addrs = resolver.resolve_str(example_domain).await?; - assert!(addrs.contains(&SocketAddr::new(example_ip4, 0))); - assert!(addrs.contains(&SocketAddr::new(example_ip6, 0))); + assert!(addrs.contains(&example_ip4)); + assert!(addrs.contains(&example_ip6)); Ok(()) } }