diff options
Diffstat (limited to 'src/backend/backend.rs')
-rw-r--r-- | src/backend/backend.rs | 10 |
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)] |