summaryrefslogtreecommitdiffstats
path: root/src/backend/backend.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/backend.rs')
-rw-r--r--src/backend/backend.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/backend/backend.rs b/src/backend/backend.rs
index 95f3f86..182c95a 100644
--- a/src/backend/backend.rs
+++ b/src/backend/backend.rs
@@ -61,6 +61,16 @@ impl IpfsEmbedBackend {
log::trace!("Inserted. CID = {}", block.cid());
Ok(block.cid().clone())
}
+
+ pub async fn get_payload(&self, cid: &cid::Cid) -> Result<crate::backend::Payload> {
+ let block = self.ipfs.fetch(cid, self.ipfs.peers()).await?;
+ log::trace!("Block = {:?}", block);
+
+ let payload = block.decode::<libipld::cbor::DagCborCodec, crate::backend::Payload>()?;
+ log::trace!("Payload = {:?}", payload);
+
+ Ok(payload)
+ }
}
#[cfg(test)]