switch to invokes instead of emits

This commit is contained in:
Joseph Montanaro
2022-12-13 16:50:44 -08:00
parent 48269855e5
commit 9055fa41aa
11 changed files with 91 additions and 40 deletions

View File

@@ -57,6 +57,7 @@ pub enum RequestError {
MalformedHttpRequest,
RequestTooLarge,
NoCredentials(GetCredentialsError),
ClientInfo(ClientInfoError),
}
impl From<tokio::io::Error> for RequestError {
fn from(e: std::io::Error) -> RequestError {
@@ -73,6 +74,11 @@ impl From<GetCredentialsError> for RequestError {
RequestError::NoCredentials(e)
}
}
impl From<ClientInfoError> for RequestError {
fn from(e: ClientInfoError) -> RequestError {
RequestError::ClientInfo(e)
}
}
impl Display for RequestError {
fn fmt(&self, f: &mut Formatter) -> Result<(), std::fmt::Error> {
@@ -84,6 +90,8 @@ impl Display for RequestError {
RequestTooLarge => write!(f, "HTTP request too large"),
NoCredentials(GetCredentialsError::Locked) => write!(f, "Recieved go-ahead but app is locked"),
NoCredentials(GetCredentialsError::Empty) => write!(f, "Received go-ahead but no credentials are known"),
ClientInfo(ClientInfoError::PidNotFound) => write!(f, "Could not resolve PID of client process."),
ClientInfo(ClientInfoError::NetstatError(e)) => write!(f, "Error getting client socket details: {e}"),
}
}
}