mirror of
https://github.com/postgresml/pgcat.git
synced 2026-03-25 18:06:29 +00:00
Adds details to errors and fixes error propagation bug (#239)
This commit is contained in:
@@ -136,7 +136,11 @@ pub async fn startup(stream: &mut TcpStream, user: &str, database: &str) -> Resu
|
||||
|
||||
match stream.write_all(&startup).await {
|
||||
Ok(_) => Ok(()),
|
||||
Err(_) => Err(Error::SocketError),
|
||||
Err(_) => {
|
||||
return Err(Error::SocketError(format!(
|
||||
"Error writing startup to server socket"
|
||||
)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -450,7 +454,7 @@ where
|
||||
{
|
||||
match stream.write_all(&buf).await {
|
||||
Ok(_) => Ok(()),
|
||||
Err(_) => Err(Error::SocketError),
|
||||
Err(_) => return Err(Error::SocketError(format!("Error writing to socket"))),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -461,7 +465,7 @@ where
|
||||
{
|
||||
match stream.write_all(&buf).await {
|
||||
Ok(_) => Ok(()),
|
||||
Err(_) => Err(Error::SocketError),
|
||||
Err(_) => return Err(Error::SocketError(format!("Error writing to socket"))),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -472,19 +476,33 @@ where
|
||||
{
|
||||
let code = match stream.read_u8().await {
|
||||
Ok(code) => code,
|
||||
Err(_) => return Err(Error::SocketError),
|
||||
Err(_) => {
|
||||
return Err(Error::SocketError(format!(
|
||||
"Error reading message code from socket"
|
||||
)))
|
||||
}
|
||||
};
|
||||
|
||||
let len = match stream.read_i32().await {
|
||||
Ok(len) => len,
|
||||
Err(_) => return Err(Error::SocketError),
|
||||
Err(_) => {
|
||||
return Err(Error::SocketError(format!(
|
||||
"Error reading message len from socket, code: {:?}",
|
||||
code
|
||||
)))
|
||||
}
|
||||
};
|
||||
|
||||
let mut buf = vec![0u8; len as usize - 4];
|
||||
|
||||
match stream.read_exact(&mut buf).await {
|
||||
Ok(_) => (),
|
||||
Err(_) => return Err(Error::SocketError),
|
||||
Err(_) => {
|
||||
return Err(Error::SocketError(format!(
|
||||
"Error reading message from socket, code: {:?}",
|
||||
code
|
||||
)))
|
||||
}
|
||||
};
|
||||
|
||||
let mut bytes = BytesMut::with_capacity(len as usize + 1);
|
||||
|
||||
Reference in New Issue
Block a user