From e82e83363701f2c52da8003cebcea3ce960c9e97 Mon Sep 17 00:00:00 2001 From: Philip Laine Date: Mon, 13 May 2024 22:32:23 +0200 Subject: [PATCH] Move resolving ref to digest to manifest handler --- pkg/registry/registry.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index 7b72ffcc..df789ccc 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -209,17 +209,9 @@ func (r *Registry) registryHandler(rw mux.ResponseWriter, req *http.Request) str } // Serve registry endpoints. - if dgst == "" { - dgst, err = r.ociClient.Resolve(req.Context(), ref) - if err != nil { - rw.WriteError(http.StatusNotFound, err) - return "" - } - } - switch refType { case referenceTypeManifest: - r.handleManifest(rw, req, dgst) + r.handleManifest(rw, req, ref, dgst) return "manifest" case referenceTypeBlob: r.handleBlob(rw, req, dgst) @@ -297,7 +289,15 @@ func (r *Registry) handleMirror(rw mux.ResponseWriter, req *http.Request, key st } } -func (r *Registry) handleManifest(rw mux.ResponseWriter, req *http.Request, dgst digest.Digest) { +func (r *Registry) handleManifest(rw mux.ResponseWriter, req *http.Request, ref string, dgst digest.Digest) { + if dgst == "" { + var err error + dgst, err = r.ociClient.Resolve(req.Context(), ref) + if err != nil { + rw.WriteError(http.StatusNotFound, err) + return + } + } b, mediaType, err := r.ociClient.GetManifest(req.Context(), dgst) if err != nil { rw.WriteError(http.StatusNotFound, err)