summaryrefslogtreecommitdiffstats
path: root/ipfs-api-prelude/src/response
diff options
context:
space:
mode:
Diffstat (limited to 'ipfs-api-prelude/src/response')
-rw-r--r--ipfs-api-prelude/src/response/add.rs17
-rw-r--r--ipfs-api-prelude/src/response/bitswap.rs55
-rw-r--r--ipfs-api-prelude/src/response/block.rs35
-rw-r--r--ipfs-api-prelude/src/response/bootstrap.rs36
-rw-r--r--ipfs-api-prelude/src/response/commands.rs34
-rw-r--r--ipfs-api-prelude/src/response/config.rs23
-rw-r--r--ipfs-api-prelude/src/response/dag.rs46
-rw-r--r--ipfs-api-prelude/src/response/dht.rs85
-rw-r--r--ipfs-api-prelude/src/response/diag.rs13
-rw-r--r--ipfs-api-prelude/src/response/dns.rs15
-rw-r--r--ipfs-api-prelude/src/response/error.rs23
-rw-r--r--ipfs-api-prelude/src/response/file.rs40
-rw-r--r--ipfs-api-prelude/src/response/files.rs68
-rw-r--r--ipfs-api-prelude/src/response/filestore.rs33
-rw-r--r--ipfs-api-prelude/src/response/id.rs30
-rw-r--r--ipfs-api-prelude/src/response/key.rs46
-rw-r--r--ipfs-api-prelude/src/response/log.rs28
-rw-r--r--ipfs-api-prelude/src/response/ls.rs43
-rw-r--r--ipfs-api-prelude/src/response/mod.rs106
-rw-r--r--ipfs-api-prelude/src/response/mount.rs26
-rw-r--r--ipfs-api-prelude/src/response/name.rs27
-rw-r--r--ipfs-api-prelude/src/response/object.rs123
-rw-r--r--ipfs-api-prelude/src/response/pin.rs47
-rw-r--r--ipfs-api-prelude/src/response/ping.rs24
-rw-r--r--ipfs-api-prelude/src/response/pubsub.rs48
-rw-r--r--ipfs-api-prelude/src/response/refs.rs23
-rw-r--r--ipfs-api-prelude/src/response/repo.rs58
-rw-r--r--ipfs-api-prelude/src/response/resolve.rs20
-rw-r--r--ipfs-api-prelude/src/response/serde.rs171
-rw-r--r--ipfs-api-prelude/src/response/shutdown.rs9
-rw-r--r--ipfs-api-prelude/src/response/stats.rs28
-rw-r--r--ipfs-api-prelude/src/response/swarm.rs78
-rw-r--r--ipfs-api-prelude/src/response/tar.rs21
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_bitswap_stat_0.json352
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_block_stat_0.json4
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_bootstrap_list_0.json22
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_commands_0.json1465
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_dag_get_0.json19
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_file_ls_0.json50
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_file_ls_1.json4
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_files_ls_0.json3
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_files_stat_0.json7
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_id_0.json9
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_key_gen_0.json4
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_key_list_0.json16
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_key_rename_0.json6
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_key_rm_0.json8
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_log_ls_0.json71
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_ls_0.json75
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_ls_1.json45
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_mount_0.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_name_resolve_0.json3
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_object_diff_0.json14
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_object_links_0.json40
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_object_stat_0.json8
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_pin_add_0.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_pin_ls_0.json7
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_ping_0.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_ping_1.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_ping_2.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_pubsub_ls_0.json3
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_pubsub_ls_1.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_pubsub_peers_0.json1
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_pubsub_sub_0.json8
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_pubsub_sub_1.json1
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_refs_local_0.json4
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_repo_gc_0.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_repo_stat_0.json1
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_repo_verify_0.json4
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_repo_verify_1.json4
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_repo_version_0.json3
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_resolve_0.json3
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_stats_bw_0.json6
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_swarm_addrs_local_0.json8
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_swarm_peers_0.json88
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_swarm_peers_1.json18
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_swarm_peers_2.json32
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_tar_add_0.json5
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_version_0.json7
-rw-r--r--ipfs-api-prelude/src/response/tests/v0_version_1.json5
-rw-r--r--ipfs-api-prelude/src/response/version.rs29
81 files changed, 3976 insertions, 0 deletions
diff --git a/ipfs-api-prelude/src/response/add.rs b/ipfs-api-prelude/src/response/add.rs
new file mode 100644
index 0000000..e9a923d
--- /dev/null
+++ b/ipfs-api-prelude/src/response/add.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 crate::serde::Deserialize;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct AddResponse {
+ pub name: String,
+ pub hash: String,
+ pub size: String,
+}
diff --git a/ipfs-api-prelude/src/response/bitswap.rs b/ipfs-api-prelude/src/response/bitswap.rs
new file mode 100644
index 0000000..95af909
--- /dev/null
+++ b/ipfs-api-prelude/src/response/bitswap.rs
@@ -0,0 +1,55 @@
+// 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 crate::response::serde;
+use crate::serde::Deserialize;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BitswapLedgerResponse {
+ pub peer: String,
+ pub value: f64,
+ pub sent: u64,
+ pub recv: u64,
+ pub exchanged: u64,
+}
+
+pub type BitswapReprovideResponse = ();
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BitswapStatResponse {
+ pub provide_buf_len: i32,
+
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub wantlist: Vec<String>,
+
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub peers: Vec<String>,
+
+ pub blocks_received: u64,
+ pub data_received: u64,
+ pub blocks_sent: u64,
+ pub data_sent: u64,
+ pub dup_blks_received: u64,
+ pub dup_data_received: u64,
+}
+
+pub type BitswapUnwantResponse = ();
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BitswapWantlistResponse {
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub keys: Vec<String>,
+}
+
+#[cfg(test)]
+mod tests {
+ deserialize_test!(v0_bitswap_stat_0, BitswapStatResponse);
+}
diff --git a/ipfs-api-prelude/src/response/block.rs b/ipfs-api-prelude/src/response/block.rs
new file mode 100644
index 0000000..7ec9e3d
--- /dev/null
+++ b/ipfs-api-prelude/src/response/block.rs
@@ -0,0 +1,35 @@
+// 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 crate::serde::Deserialize;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BlockPutResponse {
+ pub key: String,
+ pub size: u64,
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BlockRmResponse {
+ pub hash: String,
+ pub error: Option<String>,
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BlockStatResponse {
+ pub key: String,
+ pub size: u64,
+}
+
+#[cfg(test)]
+mod tests {
+ deserialize_test!(v0_block_stat_0, BlockStatResponse);
+}
diff --git a/ipfs-api-prelude/src/response/bootstrap.rs b/ipfs-api-prelude/src/response/bootstrap.rs
new file mode 100644
index 0000000..838cdbb
--- /dev/null
+++ b/ipfs-api-prelude/src/response/bootstrap.rs
@@ -0,0 +1,36 @@
+// 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 crate::response::serde;
+use crate::serde::Deserialize;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BootstrapAddDefaultResponse {
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub peers: Vec<String>,
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BootstrapListResponse {
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub peers: Vec<String>,
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct BootstrapRmAllResponse {
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub peers: Vec<String>,
+}
+
+#[cfg(test)]
+mod tests {
+ deserialize_test!(v0_bootstrap_list_0, BootstrapListResponse);
+}
diff --git a/ipfs-api-prelude/src/response/commands.rs b/ipfs-api-prelude/src/response/commands.rs
new file mode 100644
index 0000000..b23d830
--- /dev/null
+++ b/ipfs-api-prelude/src/response/commands.rs
@@ -0,0 +1,34 @@
+// 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 crate::response::serde;
+use crate::serde::Deserialize;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct CommandsResponseOptions {
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub names: Vec<String>,
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct CommandsResponse {
+ pub name: String,
+
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub subcommands: Vec<CommandsResponse>,
+
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub options: Vec<CommandsResponseOptions>,
+}
+
+#[cfg(test)]
+mod tests {
+ deserialize_test!(v0_commands_0, CommandsResponse);
+}
diff --git a/ipfs-api-prelude/src/response/config.rs b/ipfs-api-prelude/src/response/config.rs
new file mode 100644
index 0000000..0bacf98
--- /dev/null
+++ b/ipfs-api-prelude/src/response/config.rs
@@ -0,0 +1,23 @@
+// 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 crate::serde::Deserialize;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct ConfigResponse {
+ pub key: String,
+
+ pub value: serde_json::value::Value,
+}
+
+pub type ConfigEditResponse = ();
+
+pub type ConfigReplaceResponse = ();
+
+pub type ConfigShowResponse = String;
diff --git a/ipfs-api-prelude/src/response/dag.rs b/ipfs-api-prelude/src/response/dag.rs
new file mode 100644
index 0000000..ecfcaac
--- /dev/null
+++ b/ipfs-api-prelude/src/response/dag.rs
@@ -0,0 +1,46 @@
+// 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 crate::response::serde;
+use crate::serde::Deserialize;
+use std::collections::HashMap;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct DagIpfsHeader {
+ pub name: String,
+ pub size: u64,
+
+ #[serde(deserialize_with = "serde::deserialize_hashmap")]
+ pub cid: HashMap<String, String>,
+}
+
+#[derive(Debug, Deserialize)]
+pub struct DagGetResponse {
+ pub data: Option<String>,
+
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub links: Vec<DagIpfsHeader>,
+}
+
+#[derive(Debug, Deserialize)]
+pub struct DagPutResponse {
+ #[serde(rename = "Cid")]
+ pub cid: Cid,
+}
+
+#[derive(Debug, Deserialize)]
+pub struct Cid {
+ #[serde(rename = "/")]
+ pub cid_string: String,
+}
+
+#[cfg(test)]
+mod tests {
+ deserialize_test!(v0_dag_get_0, DagGetResponse);
+}
diff --git a/ipfs-api-prelude/src/response/dht.rs b/ipfs-api-prelude/src/response/dht.rs
new file mode 100644
index 0000000..f2207aa
--- /dev/null
+++ b/ipfs-api-prelude/src/response/dht.rs
@@ -0,0 +1,85 @@
+// 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 crate::response::serde;
+use crate::serde::{
+ de::{Deserializer, Error},
+ Deserialize,
+};
+
+/// See
+/// [libp2p](https://github.com/libp2p/go-libp2p-routing/blob/master/notifications/query.go#L16).
+///
+#[derive(Debug)]
+pub enum DhtType {
+ SendingQuery,
+ PeerResponse,
+ FinalPeer,
+ QueryError,
+ Provider,
+ Value,
+ AddingPeer,
+ DialingPeer,
+}
+
+impl<'de> Deserialize<'de> for DhtType {
+ #[inline]
+ fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+ where
+ D: Deserializer<'de>,
+ {
+ match deserializer.deserialize_i64(serde::IntegerVisitor)? {
+ 0 => Ok(DhtType::SendingQuery),
+ 1 => Ok(DhtType::PeerResponse),
+ 2 => Ok(DhtType::FinalPeer),
+ 3 => Ok(DhtType::QueryError),
+ 4 => Ok(DhtType::Provider),
+ 5 => Ok(DhtType::Value),
+ 6 => Ok(DhtType::AddingPeer),
+ 7 => Ok(DhtType::DialingPeer),
+ i => Err(D::Error::custom(format!("unknown dht type '{}'", i))),
+ }
+ }
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct DhtPeerResponse {
+ #[serde(rename = "ID")]
+ pub id: String,
+
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub addrs: Vec<String>,
+}
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct DhtMessage {
+ #[serde(rename = "ID")]
+ pub id: String,
+
+ #[serde(rename = "Type")]
+ pub typ: DhtType,
+
+ #[serde(deserialize_with = "serde::deserialize_vec")]
+ pub responses: Vec<DhtPeerResponse>,
+
+ pub extra: String,
+}
+
+pub type DhtFindPeerResponse = DhtMessage;
+
+pub type DhtFindProvsResponse = DhtMessage;
+
+pub type DhtGetResponse = DhtMessage;
+
+pub type DhtProvideResponse = DhtMessage;
+
+pub type DhtPutResponse = DhtMessage;
+
+pub type DhtQueryResponse = DhtMessage;
diff --git a/ipfs-api-prelude/src/response/diag.rs b/ipfs-api-prelude/src/response/diag.rs
new file mode 100644
index 0000000..382fe66
--- /dev/null
+++ b/ipfs-api-prelude/src/response/diag.rs
@@ -0,0 +1,13 @@
+// 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 DiagCmdsClearResponse = ();
+
+pub type DiagCmdsSetTimeResponse = ();
+
+pub type DiagSysResponse = String;
diff --git a/ipfs-api-prelude/src/response/dns.rs b/ipfs-api-prelude/src/response/dns.rs
new file mode 100644
index 0000000..8142c0f
--- /dev/null
+++ b/ipfs-api-prelude/src/response/dns.rs
@@ -0,0 +1,15 @@
+// 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 crate::serde::Deserialize;
+
+#[derive(Debug, Deserialize)]
+#[serde(rename_all = "PascalCase")]
+pub struct DnsResponse {
+ pub path: String,
+}
diff --git a/ipfs-api-prelude/src/response/error.rs b/ipfs-api-prelude/src/response/error.rs
new file mode 100644
index 0000000..52cd5b0
--- /dev/null
+++ b/ipfs-api-prelude/src/response/error.rs
@@ -0,0 +1,23 @@
+// 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-MI