From a3af310ada398f662fe435a39da89fdcd7ee7f52 Mon Sep 17 00:00:00 2001 From: phrwlk Date: Fri, 24 Oct 2025 22:32:17 +0300 Subject: [PATCH] classify connect_async failures as WebSocket and use Url parse error --- crates/node/ethstats/src/ethstats.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/crates/node/ethstats/src/ethstats.rs b/crates/node/ethstats/src/ethstats.rs index b9fe5e47272..7592e93ae9d 100644 --- a/crates/node/ethstats/src/ethstats.rs +++ b/crates/node/ethstats/src/ethstats.rs @@ -109,10 +109,9 @@ where "Attempting to connect to EthStats server at {}", self.credentials.host ); let full_url = format!("ws://{}/api", self.credentials.host); - let url = Url::parse(&full_url) - .map_err(|e| EthStatsError::InvalidUrl(format!("Invalid URL: {full_url} - {e}")))?; + let url = Url::parse(&full_url).map_err(EthStatsError::Url)?; - match timeout(CONNECT_TIMEOUT, connect_async(url.to_string())).await { + match timeout(CONNECT_TIMEOUT, connect_async(url.as_str())).await { Ok(Ok((ws_stream, _))) => { debug!( target: "ethstats", @@ -123,7 +122,7 @@ where self.login().await?; Ok(()) } - Ok(Err(e)) => Err(EthStatsError::InvalidUrl(e.to_string())), + Ok(Err(e)) => Err(EthStatsError::WebSocket(e)), Err(_) => { debug!(target: "ethstats", "Connection to EthStats server timed out"); Err(EthStatsError::Timeout)