MCPcopy
hub / github.com/perkeep/perkeep / Fetch

Method Fetch

pkg/blob/fetcher.go:95–112  ·  view source on GitHub ↗
(ctx context.Context, r Ref)

Source from the content-addressed store, hash-verified

93}
94
95func (df *DirFetcher) Fetch(ctx context.Context, r Ref) (file io.ReadCloser, size uint32, err error) {
96 fileName := fmt.Sprintf("%s/%s.%s", df.directory, r.String(), df.extension)
97 var stat os.FileInfo
98 stat, err = os.Stat(fileName)
99 if err != nil {
100 return
101 }
102 if stat.Size() > math.MaxUint32 {
103 err = errors.New("file size too big")
104 return
105 }
106 file, err = os.Open(fileName)
107 if err != nil {
108 return
109 }
110 size = uint32(stat.Size())
111 return
112}
113
114// ReaderAt returns an io.ReaderAt of br, fetching against sf.
115// The context is stored in and used by the returned ReaderAt.

Callers

nothing calls this directly

Calls 4

StatMethod · 0.65
SizeMethod · 0.65
OpenMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected