mirror of
https://github.com/tuono-labs/tuono
synced 2026-07-25 12:52:47 -07:00
improve websocket error handling
This commit is contained in:
@@ -8,10 +8,8 @@ use tower_http::services::ServeDir;
|
||||
use tuono_internal::config::Config;
|
||||
|
||||
use crate::env::load_env_vars;
|
||||
use crate::{
|
||||
catch_all::catch_all, services::logger::LoggerLayer
|
||||
};
|
||||
use crate::vite::{vite_reverse_proxy, vite_websocket_proxy};
|
||||
use crate::{catch_all::catch_all, services::logger::LoggerLayer};
|
||||
|
||||
const DEV_PUBLIC_DIR: &str = "public";
|
||||
const PROD_PUBLIC_DIR: &str = "out/client";
|
||||
|
||||
@@ -2,4 +2,4 @@ mod reverse_proxy;
|
||||
mod websocket_proxy;
|
||||
|
||||
pub use reverse_proxy::vite_reverse_proxy;
|
||||
pub use websocket_proxy::vite_websocket_proxy;
|
||||
pub use websocket_proxy::vite_websocket_proxy;
|
||||
|
||||
@@ -105,8 +105,19 @@ async fn handle_socket(mut tuono_socket: WebSocket) {
|
||||
};
|
||||
|
||||
if let Err(err) = tuono_sender.send(msg_to_browser).await {
|
||||
if err.to_string() != Error::AlreadyClosed.to_string() {
|
||||
eprintln!("Failed to send back message from vite to browser: {err}")
|
||||
let err_str = &err.to_string();
|
||||
let error = err
|
||||
.into_inner()
|
||||
.downcast::<Error>()
|
||||
.unwrap_or(Box::new(Error::Io(std::io::Error::new(
|
||||
std::io::ErrorKind::Other,
|
||||
"Failed to parse error into tungstenite::Error",
|
||||
))));
|
||||
|
||||
match *error {
|
||||
Error::AlreadyClosed => {}
|
||||
Error::Io(err) => eprintln!("IO error received from vite: {}", err.to_string()),
|
||||
_ => eprintln!("Failed to send back message from vite to browser: {err_str}"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user