diff options
author | Brent Baude <bbaude@redhat.com> | 2020-05-13 09:34:46 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-05-13 09:41:39 -0500 |
commit | 3fea2f0a91fb62848d481e027fde7109cdb0ebeb (patch) | |
tree | 86022ba25f576b9ee35ca2494971886dc43c2aeb /pkg/api/handlers | |
parent | d147b3ee027580dd7afdeb0fa04d990ae1d2ee91 (diff) | |
download | podman-3fea2f0a91fb62848d481e027fde7109cdb0ebeb.tar.gz podman-3fea2f0a91fb62848d481e027fde7109cdb0ebeb.tar.bz2 podman-3fea2f0a91fb62848d481e027fde7109cdb0ebeb.zip |
enable remote image tree
Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/api/handlers')
-rw-r--r-- | pkg/api/handlers/libpod/images.go | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/pkg/api/handlers/libpod/images.go b/pkg/api/handlers/libpod/images.go index 93b4564a1..1cbcfb52c 100644 --- a/pkg/api/handlers/libpod/images.go +++ b/pkg/api/handlers/libpod/images.go @@ -56,13 +56,6 @@ func ImageExists(w http.ResponseWriter, r *http.Request) { func ImageTree(w http.ResponseWriter, r *http.Request) { runtime := r.Context().Value("runtime").(*libpod.Runtime) name := utils.GetName(r) - - img, err := runtime.ImageRuntime().NewFromLocal(name) - if err != nil { - utils.Error(w, "Something went wrong.", http.StatusNotFound, errors.Wrapf(err, "Failed to find image %s", name)) - return - } - decoder := r.Context().Value("decoder").(*schema.Decoder) query := struct { WhatRequires bool `schema:"whatrequires"` @@ -74,14 +67,18 @@ func ImageTree(w http.ResponseWriter, r *http.Request) { errors.Wrapf(err, "failed to parse parameters for %s", r.URL.String())) return } - - tree, err := img.GenerateTree(query.WhatRequires) + ir := abi.ImageEngine{Libpod: runtime} + options := entities.ImageTreeOptions{WhatRequires: query.WhatRequires} + report, err := ir.Tree(r.Context(), name, options) if err != nil { + if errors.Cause(err) == define.ErrNoSuchImage { + utils.Error(w, "Something went wrong.", http.StatusNotFound, errors.Wrapf(err, "Failed to find image %s", name)) + return + } utils.Error(w, "Server error", http.StatusInternalServerError, errors.Wrapf(err, "failed to generate image tree for %s", name)) return } - - utils.WriteResponse(w, http.StatusOK, tree) + utils.WriteResponse(w, http.StatusOK, report) } func GetImage(w http.ResponseWriter, r *http.Request) { |