From 4261bb6a5dcdeecee8b775905572173987a940d8 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Thu, 7 Mar 2024 16:59:50 -0500 Subject: [PATCH] refactor: if the file exists locally, pull from out own node before fetching it from the net --- api/s5/file.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/api/s5/file.go b/api/s5/file.go index 08f0a3b..5ebddbc 100644 --- a/api/s5/file.go +++ b/api/s5/file.go @@ -309,6 +309,20 @@ func (f *S5File) Manifest() (s5libmetadata.Metadata, error) { cid = f.CID() } + if f.Exists() { + data, err := io.ReadAll(f) + if err != nil { + return nil, err + } + + md, err := f.protocol.Node().Services().Storage().ParseMetadata(data, cid) + if err != nil { + return nil, err + } + + return md, nil + } + meta, err := f.protocol.Node().Services().Storage().GetMetadataByCID(cid) if err != nil { return nil, err