P2P replace DNS panic with map_err (#3383)

Replace panic on DNS resolution error with map_err to bubble
up error to the caller

Co-authored-by: Nym Seddon <unseddd@shh.xyz>
This commit is contained in:
Nym Seddon 2020-07-17 12:44:43 +00:00 committed by GitHub
parent 824c51a346
commit d78980c4c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -181,9 +181,9 @@ impl<'de> Visitor<'de> for PeerAddrs {
Ok(ip) => peers.push(PeerAddr(ip)),
// If that fails it's probably a DNS record
Err(_) => {
let socket_addrs = entry
.to_socket_addrs()
.unwrap_or_else(|_| panic!("Unable to resolve DNS: {}", entry));
let socket_addrs = entry.to_socket_addrs().map_err(|_| {
serde::de::Error::custom(format!("Unable to resolve DNS: {}", entry))
})?;
peers.append(&mut socket_addrs.map(PeerAddr).collect());
}
}