proxy: refine error reporting a little bit more

This commit is contained in:
Wez Furlong
2024-07-15 16:04:59 -07:00
parent b13ab592e5
commit 8f87f66ea6
2 changed files with 12 additions and 5 deletions
+8 -4
View File
@@ -49,7 +49,14 @@ async fn start_listener(endpoint: &str, timeout: std::time::Duration) -> anyhow:
tokio::spawn(async move {
loop {
let (socket, peer_address) = listener.accept().await.context("accepting connection")?;
let (socket, peer_address) = match listener.accept().await {
Ok(tuple) => tuple,
Err(err) => {
log::error!("accept failed: {err:#}");
return;
}
};
tokio::spawn(async move {
if let Err(err) =
proxy_handler::handle_proxy_client(socket, peer_address, timeout).await
@@ -58,9 +65,6 @@ async fn start_listener(endpoint: &str, timeout: std::time::Duration) -> anyhow:
}
});
}
#[allow(unreachable_code)]
anyhow::Result::<()>::Ok(())
});
Ok(())
}
+4 -1
View File
@@ -64,7 +64,10 @@ pub async fn handle_proxy_client(
{
Err(_) => RequestStatus::timeout(),
Ok(Ok(s)) => s,
Ok(Err(err)) => RequestStatus::error(err),
Ok(Err(err)) => {
log::error!("peer={peer_address:?}: {state:?} {request:?} -> {err:#}");
RequestStatus::error(err)
}
};
// socks5 crate doesn't believe in allowing cloning, so we premptively debug