From 015c7878ccf37b66f69150a819009960e58fefa3 Mon Sep 17 00:00:00 2001 From: chris west Date: Fri, 2 Oct 2020 01:43:58 -0700 Subject: [PATCH] try to connect to socket_addrs(), not just 1st --- src/gopher.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gopher.rs b/src/gopher.rs index 5b824b8..cd9eadd 100644 --- a/src/gopher.rs +++ b/src/gopher.rs @@ -209,10 +209,10 @@ pub fn request(host: &str, port: &str, selector: &str, tls: bool, tor: bool) -> } // no tls or tor, try regular connection - let sock = addr - .to_socket_addrs() - .and_then(|mut socks| socks.next().ok_or_else(|| error!("Can't create socket")))?; - let mut stream = TcpStream::connect_timeout(&sock, TCP_TIMEOUT_DURATION)?; + let mut stream = addr + .to_socket_addrs()? + .find_map(|s| TcpStream::connect_timeout(&s, TCP_TIMEOUT_DURATION).ok()) + .ok_or_else(|| error!("Can't create socket"))?; stream.set_read_timeout(Some(TCP_TIMEOUT_DURATION))?; stream.write_all(selector.as_ref())?; stream.write_all("\r\n".as_ref())?;