summaryrefslogtreecommitdiffstats
path: root/ipfs-api/src/request
diff options
context:
space:
mode:
authorFerris Tseng <ferristseng@fastmail.fm>2017-10-24 15:51:44 -0400
committerFerris Tseng <ferristseng@fastmail.fm>2017-10-24 15:51:44 -0400
commitb5b01e13a9d70960bd0f10c7f5119a5f3c8bd90c (patch)
treec011f052e2f959112b5736d3a38bcdee831298b0 /ipfs-api/src/request
parentd20fa974e536bb898018fbd119bc1a35c96897e0 (diff)
add dht calls
Diffstat (limited to 'ipfs-api/src/request')
-rw-r--r--ipfs-api/src/request/dht.rs88
-rw-r--r--ipfs-api/src/request/mod.rs2
2 files changed, 90 insertions, 0 deletions
diff --git a/ipfs-api/src/request/dht.rs b/ipfs-api/src/request/dht.rs
new file mode 100644
index 0000000..3b9fccf
--- /dev/null
+++ b/ipfs-api/src/request/dht.rs
@@ -0,0 +1,88 @@
+use request::ApiRequest;
+
+
+#[derive(Serialize)]
+pub struct DhtFindPeer<'a> {
+ #[serde(rename = "arg")]
+ pub peer: &'a str,
+}
+
+impl<'a> ApiRequest for DhtFindPeer<'a> {
+ #[inline]
+ fn path() -> &'static str {
+ "/dht/findpeer"
+ }
+}
+
+
+#[derive(Serialize)]
+pub struct DhtFindProvs<'a> {
+ #[serde(rename = "arg")]
+ pub key: &'a str,
+}
+
+impl<'a> ApiRequest for DhtFindProvs<'a> {
+ #[inline]
+ fn path() -> &'static str {
+ "/dht/findprovs"
+ }
+}
+
+
+#[derive(Serialize)]
+pub struct DhtGet<'a> {
+ #[serde(rename = "arg")]
+ pub key: &'a str,
+}
+
+impl<'a> ApiRequest for DhtGet<'a> {
+ #[inline]
+ fn path() -> &'static str {
+ "/dht/get"
+ }
+}
+
+
+#[derive(Serialize)]
+pub struct DhtProvide<'a> {
+ #[serde(rename = "arg")]
+ pub key: &'a str,
+}
+
+impl<'a> ApiRequest for DhtProvide<'a> {
+ #[inline]
+ fn path() -> &'static str {
+ "/dht/provide"
+ }
+}
+
+
+#[derive(Serialize)]
+pub struct DhtPut<'a> {
+ #[serde(rename = "arg")]
+ pub key: &'a str,
+
+ #[serde(rename = "arg")]
+ pub value: &'a str,
+}
+
+impl<'a> ApiRequest for DhtPut<'a> {
+ #[inline]
+ fn path() -> &'static str {
+ "/dht/put"
+ }
+}
+
+
+#[derive(Serialize)]
+pub struct DhtQuery<'a> {
+ #[serde(rename = "arg")]
+ pub peer: &'a str,
+}
+
+impl<'a> ApiRequest for DhtQuery<'a> {
+ #[inline]
+ fn path() -> &'static str {
+ "/dht/query"
+ }
+}
diff --git a/ipfs-api/src/request/mod.rs b/ipfs-api/src/request/mod.rs
index c4bff85..45db78f 100644
--- a/ipfs-api/src/request/mod.rs
+++ b/ipfs-api/src/request/mod.rs
@@ -6,6 +6,7 @@ pub use self::cat::*;
pub use self::commands::*;
pub use self::config::*;
pub use self::dag::*;
+pub use self::dht::*;
pub use self::ls::*;
pub use self::object::*;
pub use self::pin::*;
@@ -59,6 +60,7 @@ mod cat;
mod commands;
mod config;
mod dag;
+mod dht;
mod ls;
mod object;
mod pin;