MCPcopy Create free account
hub / github.com/containers/image / GetManifest

Method GetManifest

pkg/blobcache/src.go:58–76  ·  view source on GitHub ↗
(ctx context.Context, instanceDigest *digest.Digest)

Source from the content-addressed store, hash-verified

56}
57
58func (s *blobCacheSource) GetManifest(ctx context.Context, instanceDigest *digest.Digest) ([]byte, string, error) {
59 if instanceDigest != nil {
60 filename, err := s.reference.blobPath(*instanceDigest, false)
61 if err != nil {
62 return nil, "", err
63 }
64 manifestBytes, err := os.ReadFile(filename)
65 if err == nil {
66 s.cacheHits++
67 return manifestBytes, manifest.GuessMIMEType(manifestBytes), nil
68 }
69 if !os.IsNotExist(err) {
70 s.cacheErrors++
71 return nil, "", fmt.Errorf("checking for manifest file: %w", err)
72 }
73 }
74 s.cacheMisses++
75 return s.source.GetManifest(ctx, instanceDigest)
76}
77
78func (s *blobCacheSource) HasThreadSafeGetBlob() bool {
79 return s.source.HasThreadSafeGetBlob()

Callers

nothing calls this directly

Calls 3

GuessMIMETypeFunction · 0.92
GetManifestMethod · 0.65
blobPathMethod · 0.45

Tested by

no test coverage detected