From 24213a874ab1c8c383e072ca9d9a53a295be92f2 Mon Sep 17 00:00:00 2001 From: "sijie.sun" Date: Fri, 7 Mar 2025 20:58:03 +0800 Subject: [PATCH] make http connector timeout longer http response may be slow, make its timeout longer. --- easytier/src/connector/http_connector.rs | 11 ++++++----- easytier/src/connector/manual.rs | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/easytier/src/connector/http_connector.rs b/easytier/src/connector/http_connector.rs index 255b84c..d88c3f6 100644 --- a/easytier/src/connector/http_connector.rs +++ b/easytier/src/connector/http_connector.rs @@ -88,7 +88,7 @@ impl HttpTunnelConnector { query.shuffle(&mut rand::thread_rng()); if query.is_empty() { return Err(Error::InvalidUrl(format!( - "no valid connector url found in url: url: {}", + "no valid connector url found in url: {}", url ))); } @@ -130,9 +130,10 @@ impl HttpTunnelConnector { return create_connector_by_url(line, &self.global_ctx).await; } - Err(Error::InvalidUrl( - "no valid connector url found".to_string(), - )) + Err(Error::InvalidUrl(format!( + "no valid connector url found, response body: {}", + body + ))) } #[tracing::instrument(ret)] @@ -155,7 +156,7 @@ impl HttpTunnelConnector { Request::new(&uri) .redirect_policy(RedirectPolicy::Limit(0)) - .timeout(std::time::Duration::from_secs(5)) + .timeout(std::time::Duration::from_secs(60)) .send(&mut *body_clone.write().unwrap()) .with_context(|| format!("sending http request failed. url: {}", uri)) }) diff --git a/easytier/src/connector/manual.rs b/easytier/src/connector/manual.rs index 414cefd..3bfb303 100644 --- a/easytier/src/connector/manual.rs +++ b/easytier/src/connector/manual.rs @@ -366,7 +366,8 @@ impl ManualConnectorManager { ))); for ip_version in ip_versions { let ret = timeout( - std::time::Duration::from_secs(1), + // allow http connector to wait longer + std::time::Duration::from_secs(if dead_url.starts_with("http") { 20 } else { 1 }), Self::conn_reconnect_with_ip_version( data.clone(), dead_url.clone(),