diff options
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 |