diff options
Diffstat (limited to 'ipfs-api')
-rw-r--r-- | ipfs-api/src/client.rs | 20 | ||||
-rw-r--r-- | ipfs-api/src/request/mod.rs | 2 | ||||
-rw-r--r-- | ipfs-api/src/request/shutdown.rs | 17 | ||||
-rw-r--r-- | ipfs-api/src/response/mod.rs | 2 | ||||
-rw-r--r-- | ipfs-api/src/response/shutdown.rs | 9 |
5 files changed, 49 insertions, 1 deletions
diff --git a/ipfs-api/src/client.rs b/ipfs-api/src/client.rs index dd64680..564415f 100644 --- a/ipfs-api/src/client.rs +++ b/ipfs-api/src/client.rs @@ -2000,7 +2000,25 @@ impl IpfsClient { // TODO /resolve - // TODO /shutdown + /// Shutdown the Ipfs daemon. + /// + /// ```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.shutdown(); + /// # } + /// ``` + /// + pub fn shutdown(&self) -> AsyncResponse<response::ShutdownResponse> { + self.request_empty(&request::Shutdown, None) + } /// Returns bitswap stats. /// diff --git a/ipfs-api/src/request/mod.rs b/ipfs-api/src/request/mod.rs index defd0ca..03e2801 100644 --- a/ipfs-api/src/request/mod.rs +++ b/ipfs-api/src/request/mod.rs @@ -31,6 +31,7 @@ pub use self::pin::*; pub use self::ping::*; pub use self::pubsub::*; pub use self::refs::*; +pub use self::shutdown::*; pub use self::stats::*; pub use self::swarm::*; pub use self::tar::*; @@ -93,6 +94,7 @@ mod pin; mod ping; mod pubsub; mod refs; +mod shutdown; mod stats; mod swarm; mod tar; diff --git a/ipfs-api/src/request/shutdown.rs b/ipfs-api/src/request/shutdown.rs new file mode 100644 index 0000000..a6535a2 --- /dev/null +++ b/ipfs-api/src/request/shutdown.rs @@ -0,0 +1,17 @@ +// Copyright 2017 rust-ipfs-api Developers +// +// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or +// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or +// http://opensource.org/licenses/MIT>, at your option. This file may not be +// copied, modified, or distributed except according to those terms. +// + +use request::ApiRequest; + +pub struct Shutdown; + +impl_skip_serialize!(Shutdown); + +impl ApiRequest for Shutdown { + const PATH: &'static str = "/shutdown"; +} diff --git a/ipfs-api/src/response/mod.rs b/ipfs-api/src/response/mod.rs index f08b6dc..2f70c28 100644 --- a/ipfs-api/src/response/mod.rs +++ b/ipfs-api/src/response/mod.rs @@ -35,6 +35,7 @@ pub use self::pubsub::*; pub use self::refs::*; pub use self::repo::*; pub use self::resolve::*; +pub use self::shutdown::*; pub use self::stats::*; pub use self::swarm::*; pub use self::tar::*; @@ -85,6 +86,7 @@ mod refs; mod repo; mod resolve; mod serde; +mod shutdown; mod stats; mod swarm; mod tar; diff --git a/ipfs-api/src/response/shutdown.rs b/ipfs-api/src/response/shutdown.rs new file mode 100644 index 0000000..3dd3213 --- /dev/null +++ b/ipfs-api/src/response/shutdown.rs @@ -0,0 +1,9 @@ +// Copyright 2017 rust-ipfs-api Developers +// +// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or +// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or +// http://opensource.org/licenses/MIT>, at your option. This file may not be +// copied, modified, or distributed except according to those terms. +// + +pub type ShutdownResponse = (); |