summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulius Michaelis <gitter@liftm.de>2020-07-09 17:55:15 +0900
committerJulius Michaelis <gitter@liftm.de>2020-07-09 20:52:33 +0900
commita162e2cbc3dd0898211056154af57e6ec58d7808 (patch)
tree57920fde683e746b7e11df76c6a8dc8346ce14cc
parent106ae9287733bab4e6d5430a55f02fcf8447280e (diff)
ipfs files: cid-version, hash, flush
-rw-r--r--ipfs-api/examples/mfs.rs8
-rw-r--r--ipfs-api/src/client/internal.rs39
-rw-r--r--ipfs-api/src/request/files.rs24
3 files changed, 54 insertions, 17 deletions
diff --git a/ipfs-api/examples/mfs.rs b/ipfs-api/examples/mfs.rs
index dab272b..b53935c 100644
--- a/ipfs-api/examples/mfs.rs
+++ b/ipfs-api/examples/mfs.rs
@@ -31,7 +31,7 @@ async fn main() {
eprintln!("making /test...");
eprintln!();
- if let Err(e) = client.files_mkdir("/test", false).await {
+ if let Err(e) = client.files_mkdir("/test", false, 0, None, true).await {
eprintln!("error making /test: {}", e);
return;
}
@@ -39,7 +39,7 @@ async fn main() {
eprintln!("making dirs /test/does/not/exist/yet...");
eprintln!();
- if let Err(e) = client.files_mkdir("/test/does/not/exist/yet", true).await {
+ if let Err(e) = client.files_mkdir("/test/does/not/exist/yet", true, 0, None, true).await {
eprintln!("error making /test/does/not/exist/yet: {}", e);
return;
}
@@ -60,7 +60,7 @@ async fn main() {
let src = File::open(file!()).expect("could not read source file");
- if let Err(e) = client.files_write("/test/mfs.rs", true, true, false, 0, None, false, src).await {
+ if let Err(e) = client.files_write("/test/mfs.rs", true, true, false, 0, None, false, 0, None, true, src).await {
eprintln!("error writing source file /test/mfs.rs: {}", e);
return;
}
@@ -79,7 +79,7 @@ async fn main() {
eprintln!("removing /test...");
eprintln!();
- if let Err(e) = client.files_rm("/test", true).await {
+ if let Err(e) = client.files_rm("/test", true, true).await {
eprintln!("error removing /test: {}", e);
}
diff --git a/ipfs-api/src/client/internal.rs b/ipfs-api/src/client/internal.rs
index c28e251..f317fe8 100644
--- a/ipfs-api/src/client/internal.rs
+++ b/ipfs-api/src/client/internal.rs
@@ -1075,7 +1075,7 @@ impl IpfsClient {
/// use ipfs_api::IpfsClient;
///
/// let client = IpfsClient::default();
- /// let res = client.files_cp("/path/to/file", "/dest");
+ /// let res = client.files_cp("/path/to/file", "/dest", true);
/// ```
///
#[inline]
@@ -1083,8 +1083,9 @@ impl IpfsClient {
&self,
path: &str,
dest: &str,
+ flush: bool,
) -> Result<response::FilesCpResponse, Error> {
- self.request_empty(request::FilesCp { path, dest }, None)
+ self.request_empty(request::FilesCp { path, dest, flush }, None)
.await
}
@@ -1127,8 +1128,8 @@ impl IpfsClient {
/// use ipfs_api::IpfsClient;
///
/// let client = IpfsClient::default();
- /// let res = client.files_mkdir("/test", false);
- /// let res = client.files_mkdir("/test/nested/dir", true);
+ /// let res = client.files_mkdir("/test", false, 0, None, true);
+ /// let res = client.files_mkdir("/test/nested/dir", true, 0, None, true);
/// ```
///
#[inline]
@@ -1136,8 +1137,11 @@ impl IpfsClient {
&self,
path: &str,
parents: bool,
+ cid_version: i32,
+ hash: Option<&str>,
+ flush: bool,
) -> Result<response::FilesMkdirResponse, Error> {
- self.request_empty(request::FilesMkdir { path, parents }, None)
+ self.request_empty(request::FilesMkdir { path, parents, cid_version, hash, flush }, None)
.await
}
@@ -1147,7 +1151,7 @@ impl IpfsClient {
/// use ipfs_api::IpfsClient;
///
/// let client = IpfsClient::default();
- /// let res = client.files_mv("/test/tmp.json", "/test/file.json");
+ /// let res = client.files_mv("/test/tmp.json", "/test/file.json", true);
/// ```
///
#[inline]
@@ -1155,8 +1159,9 @@ impl IpfsClient {
&self,
path: &str,
dest: &str,
+ flush: bool,
) -> Result<response::FilesMvResponse, Error> {
- self.request_empty(request::FilesMv { path, dest }, None)
+ self.request_empty(request::FilesMv { path, dest, flush }, None)
.await
}
@@ -1184,8 +1189,8 @@ impl IpfsClient {
/// use ipfs_api::IpfsClient;
///
/// let client = IpfsClient::default();
- /// let res = client.files_rm("/test/dir", true);
- /// let res = client.files_rm("/test/file.json", false);
+ /// let res = client.files_rm("/test/dir", true, true);
+ /// let res = client.files_rm("/test/file.json", false, true);
/// ```
///
#[inline]
@@ -1193,8 +1198,9 @@ impl IpfsClient {
&self,
path: &str,
recursive: bool,
+ flush: bool,
) -> Result<response::FilesRmResponse, Error> {
- self.request_empty(request::FilesRm { path, recursive }, None)
+ self.request_empty(request::FilesRm { path, recursive, flush }, None)
.await
}
@@ -1220,7 +1226,7 @@ impl IpfsClient {
///
/// let client = IpfsClient::default();
/// let file = File::open("test.json").unwrap();
- /// let res = client.files_write("/test/file.json", true, true, true, 0, None, false, file);
+ /// let res = client.files_write("/test/file.json", true, true, true, 0, None, false, 0, None, true, file);
/// ```
///
/// Not specifying a byte `count` writes the entire input.
@@ -1235,6 +1241,9 @@ impl IpfsClient {
offset: i64,
count: Option<i64>,
raw_leaves: bool,
+ cid_version: i32,
+ hash: Option<&str>,
+ flush: bool,
data: R,
) -> Result<response::FilesWriteResponse, Error>
where
@@ -1253,6 +1262,9 @@ impl IpfsClient {
offset,
count,
raw_leaves,
+ cid_version,
+ hash,
+ flush,
},
Some(form),
)
@@ -1266,7 +1278,7 @@ impl IpfsClient {
/// use std::fs::File;
///
/// let client = IpfsClient::default();
- /// let res = client.files_chcid("/test/", 1, Some("sha3-512"));
+ /// let res = client.files_chcid("/test/", 1, Some("sha3-512"), true);
/// ```
///
/// Not specifying a byte `count` writes the entire input.
@@ -1277,9 +1289,10 @@ impl IpfsClient {
path: &str,
cid_version: i32,
hash: Option<&str>,
+ flush: bool,
) -> Result<response::FilesChcidResponse, Error>
{
- self.request_empty(request::FilesChcid { path, cid_version, hash }, None)
+ self.request_empty(request::FilesChcid { path, cid_version, hash, flush }, None)
.await
}
diff --git a/ipfs-api/src/request/files.rs b/ipfs-api/src/request/files.rs
index bcf17cc..e70e04b 100644
--- a/ipfs-api/src/request/files.rs
+++ b/ipfs-api/src/request/files.rs
@@ -16,6 +16,8 @@ pub struct FilesCp<'a> {
#[serde(rename = "arg")]
pub dest: &'a str,
+
+ pub flush: bool,
}
impl<'a> ApiRequest for FilesCp<'a> {
@@ -48,6 +50,14 @@ pub struct FilesMkdir<'a> {
pub path: &'a str,
pub parents: bool,
+
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub hash: Option<&'a str>,
+
+ #[serde(rename = "cid-version")]
+ pub cid_version: i32,
+
+ pub flush: bool,
}
impl<'a> ApiRequest for FilesMkdir<'a> {
@@ -61,6 +71,8 @@ pub struct FilesMv<'a> {
#[serde(rename = "arg")]
pub dest: &'a str,
+
+ pub flush: bool,
}
impl<'a> ApiRequest for FilesMv<'a> {
@@ -88,6 +100,8 @@ pub struct FilesRm<'a> {
pub path: &'a str,
pub recursive: bool,
+
+ pub flush: bool,
}
impl<'a> ApiRequest for FilesRm<'a> {
@@ -122,6 +136,14 @@ pub struct FilesWrite<'a> {
#[serde(rename = "raw-leaves")]
pub raw_leaves: bool,
+
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub hash: Option<&'a str>,
+
+ #[serde(rename = "cid-version")]
+ pub cid_version: i32,
+
+ pub flush: bool,
}
impl<'a> ApiRequest for FilesWrite<'a> {
@@ -138,6 +160,8 @@ pub struct FilesChcid<'a> {
#[serde(rename = "cid-version")]
pub cid_version: i32,
+
+ pub flush: bool,
}
impl<'a> ApiRequest for FilesChcid<'a> {