diff options
Diffstat (limited to 'cli/src/profile.rs')
-rw-r--r-- | cli/src/profile.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cli/src/profile.rs b/cli/src/profile.rs index c239bc5..7ca324b 100644 --- a/cli/src/profile.rs +++ b/cli/src/profile.rs @@ -36,6 +36,12 @@ async fn profile_serve(matches: &ArgMatches) -> Result<()> { use ipfs::MultiaddrWithPeerId; let name = matches.value_of("name").map(String::from).unwrap(); // required + let listen_addrs = matches.values_of("listen") + .map(|v| { + v.map(|s| s.parse::<ipfs::Multiaddr>().map_err(anyhow::Error::from)) + .collect::<Result<Vec<_>>>() + }) + .transpose()?; let connect_peer = matches.values_of("connect") .map(|v| { v.map(|s| { @@ -54,6 +60,13 @@ async fn profile_serve(matches: &ArgMatches) -> Result<()> { log::info!("Profile HEAD = {}", head); } + if let Some(listen) = listen_addrs { + for l in listen { + log::debug!("Adding listening address: {}", l); + profile.listen_on(l).await?; + } + } + if let Some(connect_to) = connect_peer { for c in connect_to { log::info!("Connecting to {:?}", c); |