Przeglądaj źródła

src/util: convert UrlConfig to SocketAddr

ghassmo 4 lat temu
rodzic
commit
f674650891
1 zmienionych plików z 12 dodań i 5 usunięć
  1. 12 5
      src/util/cli.rs

+ 12 - 5
src/util/cli.rs

@@ -2,6 +2,7 @@ use std::{
     env, fs,
     env, fs,
     io::Write,
     io::Write,
     marker::PhantomData,
     marker::PhantomData,
+    net::SocketAddr,
     path::{Path, PathBuf},
     path::{Path, PathBuf},
     str,
     str,
 };
 };
@@ -82,22 +83,28 @@ pub struct UrlConfig {
 }
 }
 
 
 impl TryFrom<UrlConfig> for url::Url {
 impl TryFrom<UrlConfig> for url::Url {
-    type Error = url::ParseError;
+    type Error = Error;
 
 
-    // TODO remove unwraps
-    fn try_from(urlc: UrlConfig) -> std::result::Result<Self, Self::Error> {
+    fn try_from(urlc: UrlConfig) -> Result<Self> {
         let mut url = url::Url::parse(&urlc.url)?;
         let mut url = url::Url::parse(&urlc.url)?;
 
 
-        url.set_password(urlc.password.as_deref()).unwrap();
+        url.set_password(urlc.password.as_deref())?;
 
 
         if urlc.username.is_some() {
         if urlc.username.is_some() {
-            url.set_username(&urlc.username.unwrap()).unwrap();
+            url.set_username(&urlc.username.unwrap())?;
         }
         }
 
 
         Ok(url)
         Ok(url)
     }
     }
 }
 }
 
 
+impl TryFrom<UrlConfig> for SocketAddr {
+    type Error = Error;
+    fn try_from(urlc: UrlConfig) -> std::result::Result<Self, Self::Error> {
+        let url: SocketAddr = urlc.url.parse()?;
+        Ok(url)
+    }
+}
 pub const ANSI_LOGO: &str = include_str!("../../contrib/darkfi.ansi");
 pub const ANSI_LOGO: &str = include_str!("../../contrib/darkfi.ansi");
 
 
 #[macro_export]
 #[macro_export]