melib/error: detect DNS lookup std::io::Error

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
pull/434/head
Manos Pitsidianakis 2 months ago
parent 100fa8b3d1
commit 386208664b
No known key found for this signature in database
GPG Key ID: 7729C7707F7E09D0

@ -605,10 +605,14 @@ impl From<io::ErrorKind> for ErrorKind {
}
impl From<io::Error> for Error {
#[inline]
fn from(err: io::Error) -> Self {
let kind = err.kind().into();
Self::new(err.to_string())
let s = err.to_string();
let kind = if s.contains("failed to lookup address information") {
ErrorKind::Network(NetworkErrorKind::HostLookupFailed)
} else {
err.kind().into()
};
Self::new(s)
.set_details(err.kind().to_string())
.set_source(Some(Arc::new(err)))
.set_kind(kind)

Loading…
Cancel
Save