From 30024b1e62047848bf415d3848953774a4f4fbdc Mon Sep 17 00:00:00 2001 From: Ferris Tseng Date: Wed, 27 Jun 2018 17:39:23 -0400 Subject: finish updating examples --- ipfs-api/examples/pubsub.rs | 4 +++- ipfs-api/examples/replace_config.rs | 17 +++++++------- ipfs-api/examples/resolve_name.rs | 45 ++++++++++++++++++++++--------------- 3 files changed, 39 insertions(+), 27 deletions(-) diff --git a/ipfs-api/examples/pubsub.rs b/ipfs-api/examples/pubsub.rs index f760dcd..876ec04 100644 --- a/ipfs-api/examples/pubsub.rs +++ b/ipfs-api/examples/pubsub.rs @@ -39,7 +39,9 @@ fn main() { println!(); println!("publishing message..."); - client.pubsub_pub(TOPIC, "Hello World!").map_err(|e| eprintln!("{}", e)) + client + .pubsub_pub(TOPIC, "Hello World!") + .map_err(|e| eprintln!("{}", e)) }); println!(); diff --git a/ipfs-api/examples/replace_config.rs b/ipfs-api/examples/replace_config.rs index e66c920..f354386 100644 --- a/ipfs-api/examples/replace_config.rs +++ b/ipfs-api/examples/replace_config.rs @@ -6,12 +6,13 @@ // copied, modified, or distributed except according to those terms. // +extern crate futures; +extern crate hyper; extern crate ipfs_api; -extern crate tokio_core; +use futures::Future; use ipfs_api::IpfsClient; use std::io::Cursor; -use tokio_core::reactor::Core; // Creates an Ipfs client, and replaces the config file with the default one. // @@ -19,12 +20,12 @@ fn main() { println!("note: this must be run in the root of the project repository"); println!("connecting to localhost:5001..."); - let mut core = Core::new().expect("expected event loop"); - let client = IpfsClient::default(&core.handle()); + let client = IpfsClient::default(); let default_config = include_str!("default_config.json"); - let req = client.config_replace(Cursor::new(default_config)); + let req = client + .config_replace(Cursor::new(default_config)) + .map(|_| println!("replaced file")) + .map_err(|e| println!("{}", e)); - core.run(req).expect("expected a valid response"); - - println!("replaced file"); + hyper::rt::run(req); } diff --git a/ipfs-api/examples/resolve_name.rs b/ipfs-api/examples/resolve_name.rs index dd13d26..4bcb648 100644 --- a/ipfs-api/examples/resolve_name.rs +++ b/ipfs-api/examples/resolve_name.rs @@ -6,11 +6,12 @@ // copied, modified, or distributed except according to those terms. // +extern crate futures; +extern crate hyper; extern crate ipfs_api; -extern crate tokio_core; +use futures::Future; use ipfs_api::IpfsClient; -use tokio_core::reactor::Core; const IPFS_IPNS: &str = "/ipns/ipfs.io"; @@ -20,20 +21,28 @@ const IPFS_IPNS: &str = "/ipns/ipfs.io"; fn main() { println!("connecting to localhost:5001..."); - let mut core = Core::new().expect("expected event loop"); - let client = IpfsClient::default(&core.handle()); - let req = client.name_resolve(Some(IPFS_IPNS), true, false); - let resolved = core.run(req).expect("expected a valid response"); - - println!("{} resolves to: {}", IPFS_IPNS, &resolved.path); - - let req = client.name_publish(IPFS_IPNS, true, None, None, None); - let publish = core.run(req).expect("expected a valid response"); - - println!("published {} to: /ipns/{}", IPFS_IPNS, &publish.name); - - let req = client.name_resolve(Some(&publish.name), true, false); - let resolved = core.run(req).expect("expected a valid response"); - - println!("/ipns/{} resolves to: {}", &publish.name, &resolved.path); + let client = IpfsClient::default(); + let name_resolve = client + .name_resolve(Some(IPFS_IPNS), true, false) + .map(|resolved| { + println!("{} resolves to: {}", IPFS_IPNS, &resolved.path); + }); + + let name_publish = client + .name_publish(IPFS_IPNS, true, None, None, None) + .and_then(move |publish| { + println!("published {} to: /ipns/{}", IPFS_IPNS, &publish.name); + + client + .name_resolve(Some(&publish.name), true, false) + .map(move |resolved| { + println!("/ipns/{} resolves to: {}", &publish.name, &resolved.path); + }) + }); + + hyper::rt::run( + name_resolve + .and_then(|_| name_publish) + .map_err(|e| eprintln!("{}", e)), + ); } -- cgit v1.2.3