Refactor Display for Transport

This commit is contained in:
Martin Algesten
2020-12-05 15:24:13 +01:00
parent b91d196fbc
commit 5aff777f1f

View File

@@ -61,22 +61,29 @@ impl Display for Error {
write!(f, "{}: status code {}", response.get_url(), status)?; write!(f, "{}: status code {}", response.get_url(), status)?;
} }
Error::Transport(err) => { Error::Transport(err) => {
if let Some(url) = &err.url { write!(f, "{}", err)?;
write!(f, "{}: ", url)?;
}
write!(f, "{}", err.kind)?;
if let Some(message) = &err.message {
write!(f, ": {}", message)?;
}
if let Some(source) = &err.source {
write!(f, ": {}", source)?;
}
} }
} }
Ok(()) Ok(())
} }
} }
impl Display for Transport {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
if let Some(url) = &self.url {
write!(f, "{}: ", url)?;
}
write!(f, "{}", self.kind)?;
if let Some(message) = &self.message {
write!(f, ": {}", message)?;
}
if let Some(source) = &self.source {
write!(f, ": {}", source)?;
}
Ok(())
}
}
impl error::Error for Error { impl error::Error for Error {
fn source(&self) -> Option<&(dyn error::Error + 'static)> { fn source(&self) -> Option<&(dyn error::Error + 'static)> {
match &self { match &self {