summaryrefslogtreecommitdiffstats
path: root/cli/src/profile.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/src/profile.rs')
-rw-r--r--cli/src/profile.rs13
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);