From 28db6270b196355e3742e4101e7b8225147d6ef8 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 20 Mar 2024 17:24:37 +0100 Subject: [PATCH 1/3] Revert "fix(server): return err on WS handshake err (#1288)" This reverts commit d9c4a5c23ad8bebcc9a5e5b595f5f3889ceb29b8. --- server/src/transport/ws.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/server/src/transport/ws.rs b/server/src/transport/ws.rs index b0c048da1c..c93aee67c8 100644 --- a/server/src/transport/ws.rs +++ b/server/src/transport/ws.rs @@ -415,14 +415,6 @@ where match server.receive_request(&req) { Ok(response) => { - let upgraded = match hyper::upgrade::on(req).await { - Ok(u) => u, - Err(e) => { - tracing::debug!(target: LOG_TARGET, "WS upgrade handshake failed: {}", e); - return Err(hyper::Response::new(hyper::Body::from(format!("WS upgrade handshake failed {e}")))); - } - }; - let (tx, rx) = mpsc::channel::(server_cfg.message_buffer_capacity as usize); let sink = MethodSink::new(tx); @@ -448,6 +440,14 @@ where let rpc_service = rpc_middleware.service(rpc_service); let fut = async move { + let upgraded = match hyper::upgrade::on(req).await { + Ok(u) => u, + Err(e) => { + tracing::debug!(target: LOG_TARGET, "WS upgrade handshake failed: {}", e); + return; + } + }; + let stream = BufReader::new(BufWriter::new(upgraded.compat())); let mut ws_builder = server.into_builder(stream); ws_builder.set_max_message_size(server_cfg.max_response_body_size as usize); @@ -472,7 +472,7 @@ where } Err(e) => { tracing::debug!(target: LOG_TARGET, "WS upgrade handshake failed: {}", e); - Err(hyper::Response::new(hyper::Body::from(format!("WS upgrade handshake failed: {e}")))) + Err(hyper::Response::new(hyper::Body::from(format!("Could not upgrade connection: {e}")))) } } } From 3df86e1dbbbf63ffa0ac71a349b85af3f6d85bf9 Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 20 Mar 2024 17:26:09 +0100 Subject: [PATCH 2/3] fix docs --- server/src/future.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/server/src/future.rs b/server/src/future.rs index d26b9cb936..5443001de0 100644 --- a/server/src/future.rs +++ b/server/src/future.rs @@ -61,6 +61,7 @@ impl StopHandle { } } +/// Error when the server has already been stopped. #[derive(Debug, Copy, Clone, thiserror::Error)] #[error("The server is already stopped")] pub struct AlreadyStoppedError; From 9660a771288705c58da3d4bcf5bab577777f80fd Mon Sep 17 00:00:00 2001 From: Niklas Adolfsson Date: Wed, 20 Mar 2024 17:27:56 +0100 Subject: [PATCH 3/3] Update server/src/transport/ws.rs --- server/src/transport/ws.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/transport/ws.rs b/server/src/transport/ws.rs index c93aee67c8..cdac32fe3a 100644 --- a/server/src/transport/ws.rs +++ b/server/src/transport/ws.rs @@ -472,7 +472,7 @@ where } Err(e) => { tracing::debug!(target: LOG_TARGET, "WS upgrade handshake failed: {}", e); - Err(hyper::Response::new(hyper::Body::from(format!("Could not upgrade connection: {e}")))) + Err(hyper::Response::new(hyper::Body::from(format!("WS upgrade handshake failed: {e}")))) } } }