summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-07-14 17:39:37 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-07-14 17:39:37 +0200
commitca83610bc8baf24844da9127078abe3d11f7d74c (patch)
treeabb2d8d2f38ae7761e384de039037ea4de35821f
parent1aec9613e109d6484fba828e6315b6be48df23f0 (diff)
Add helper IpfsEmbedBackend::get_payload()
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-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)]