summaryrefslogtreecommitdiffstats
path: root/ipfs-api/src/client/internal.rs
diff options
context:
space:
mode:
authorSionoiS <SionoiS@users.noreply.github.com>2020-07-27 18:38:36 -0400
committerSionoiS <SionoiS@users.noreply.github.com>2020-07-27 18:38:36 -0400
commit5578f9b3cdf91e4f6c736ee9c2bbc3b408890149 (patch)
treeeddf1e005cb52e3b2c7bd05c9f8ff89c05b7882d /ipfs-api/src/client/internal.rs
parente4ecefe07bc0936898f4a7b4161ac4ff973a02aa (diff)
dag put & dag get
Diffstat (limited to 'ipfs-api/src/client/internal.rs')
-rw-r--r--ipfs-api/src/client/internal.rs45
1 files changed, 25 insertions, 20 deletions
diff --git a/ipfs-api/src/client/internal.rs b/ipfs-api/src/client/internal.rs
index 6921d9c..6785180 100644
--- a/ipfs-api/src/client/internal.rs
+++ b/ipfs-api/src/client/internal.rs
@@ -852,26 +852,31 @@ impl IpfsClient {
/// ```
///
#[inline]
- pub async fn dag_get(&self, path: &str) -> Result<response::DagGetResponse, Error> {
- self.request(request::DagGet { path }, None).await
- }
-
- // TODO /dag routes are experimental, and there isn't a whole lot of
- // documentation available for how this route works.
- //
- // /// Add a DAG node to Ipfs.
- // ///
- // #[inline]
- // pub fn dag_put<R>(&self, data: R) -> AsyncResponse<response::DagPutResponse>
- // where
- // R: 'static + Read + Send,
- // {
- // let mut form = multipart::Form::default();
- //
- // form.add_reader("arg", data);
- //
- // self.request(&request::DagPut, Some(form))
- // }
+ pub async fn dag_get(&self, path: &str) -> Result<String, Error> {
+ self.request_string(request::DagGet { path }, None).await
+ }
+
+ /// Add a DAG node to Ipfs.
+ ///
+ /// ```no_run
+ /// use ipfs_api::IpfsClient;
+ ///
+ /// let client = IpfsClient::default();
+ /// let data = Cursor::new(r#"{ "hello" : "world" }"#);
+ /// let res = client.dag_put(data);
+ /// ```
+ ///
+ #[inline]
+ pub async fn dag_put<R>(&self, data: R) -> Result<response::DagPutResponse, Error>
+ where
+ R: 'static + Read + Send + Sync,
+ {
+ let mut form = multipart::Form::default();
+
+ form.add_reader("object data", data);
+
+ self.request(request::DagPut, Some(form)).await
+ }
// TODO /dag/resolve