Skip to content

Commit

Permalink
fix(server): return err on WS handshake err (#1288)
Browse files Browse the repository at this point in the history
  • Loading branch information
niklasad1 committed Feb 12, 2024
1 parent 72939a9 commit d9c4a5c
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions server/src/transport/ws.rs
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,14 @@ 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::<String>(server_cfg.message_buffer_capacity as usize);
let sink = MethodSink::new(tx);

Expand All @@ -440,14 +448,6 @@ 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);
Expand All @@ -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}"))))
}
}
}

0 comments on commit d9c4a5c

Please sign in to comment.