diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2018-01-23 20:02:08 -0500 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2018-01-23 20:02:08 -0500 |
commit | c44b62ded3dd1faed5de96ffdea2fc4b3d5d8b4f (patch) | |
tree | 0ec4d660f0541a020b97c3df4bc18f63b98fd893 /ipfs-api/src/client.rs | |
parent | 75a4584683891e5a236cd93e4e841f0555229224 (diff) |
add /name/publish and /name/resolve
Diffstat (limited to 'ipfs-api/src/client.rs')
-rw-r--r-- | ipfs-api/src/client.rs | 76 |
1 files changed, 74 insertions, 2 deletions
diff --git a/ipfs-api/src/client.rs b/ipfs-api/src/client.rs index 4c8b010..dd64680 100644 --- a/ipfs-api/src/client.rs +++ b/ipfs-api/src/client.rs @@ -1557,9 +1557,81 @@ impl IpfsClient { // TODO /mount - // TODO /name/publish + /// Publish an IPFS path to IPNS. + /// + /// ```no_run + /// # extern crate ipfs_api; + /// # extern crate tokio_core; + /// # + /// use ipfs_api::IpfsClient; + /// use tokio_core::reactor::Core; + /// + /// # fn main() { + /// let mut core = Core::new().unwrap(); + /// let client = IpfsClient::default(&core.handle()); + /// let req = client.name_publish( + /// "/ipfs/QmVrLsEDn27sScp3k23sgZNefVTjSAL3wpgW1iWPi4MgoY", + /// false, + /// Some("12h"), + /// None, + /// None); + /// # } + /// ``` + /// + pub fn name_publish( + &self, + path: &str, + resolve: bool, + lifetime: Option<&str>, + ttl: Option<&str>, + key: Option<&str>, + ) -> AsyncResponse<response::NamePublishResponse> { + self.request( + &request::NamePublish { + path, + resolve, + lifetime, + ttl, + key, + }, + None, + ) + } - // TODO /name/resolve + /// Resolve an IPNS name. + /// + /// ```no_run + /// # extern crate ipfs_api; + /// # extern crate tokio_core; + /// # + /// use ipfs_api::IpfsClient; + /// use tokio_core::reactor::Core; + /// + /// # fn main() { + /// let mut core = Core::new().unwrap(); + /// let client = IpfsClient::default(&core.handle()); + /// let req = client.name_resolve( + /// Some("/ipns/ipfs.io"), + /// true, + /// false); + /// # } + /// ``` + /// + pub fn name_resolve( + &self, + name: Option<&str>, + recursive: bool, + nocache: bool, + ) -> AsyncResponse<response::NameResolveResponse> { + self.request( + &request::NameResolve { + name, + recursive, + nocache, + }, + None, + ) + } // TODO /object/data |