diff options
author | Steve Taylor <steven@taylormuff.co.uk> | 2020-03-05 23:02:45 +0000 |
---|---|---|
committer | Steve Taylor <steven@taylormuff.co.uk> | 2020-03-05 23:02:45 +0000 |
commit | 83e52cf787eead5434a982230f0fdc8b4f3a10df (patch) | |
tree | a54a5348098aa069cd494c53f5b588f94c32e566 /pkg/api/handlers/generic | |
parent | da15f2f8817a432bce7e578de23554e5ed854f13 (diff) | |
download | podman-83e52cf787eead5434a982230f0fdc8b4f3a10df.tar.gz podman-83e52cf787eead5434a982230f0fdc8b4f3a10df.tar.bz2 podman-83e52cf787eead5434a982230f0fdc8b4f3a10df.zip |
Implemented size parameter on GetContainer
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
Diffstat (limited to 'pkg/api/handlers/generic')
-rw-r--r-- | pkg/api/handlers/generic/containers.go | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/pkg/api/handlers/generic/containers.go b/pkg/api/handlers/generic/containers.go index 5b52cdfa9..24b0ecb77 100644 --- a/pkg/api/handlers/generic/containers.go +++ b/pkg/api/handlers/generic/containers.go @@ -101,6 +101,20 @@ func ListContainers(w http.ResponseWriter, r *http.Request) { func GetContainer(w http.ResponseWriter, r *http.Request) { runtime := r.Context().Value("runtime").(*libpod.Runtime) + decoder := r.Context().Value("decoder").(*schema.Decoder) + query := struct { + Size bool `schema:"size"` + }{ + // override any golang type defaults + } + + // Default Size to false + query.Size = false + + if err := decoder.Decode(&query, r.URL.Query()); err != nil { + utils.Error(w, "Something went wrong.", http.StatusBadRequest, errors.Wrapf(err, "Failed to parse parameters for %s", r.URL.String())) + return + } name := utils.GetName(r) ctnr, err := runtime.LookupContainer(name) @@ -108,7 +122,7 @@ func GetContainer(w http.ResponseWriter, r *http.Request) { utils.ContainerNotFound(w, name, err) return } - api, err := handlers.LibpodToContainerJSON(ctnr) + api, err := handlers.LibpodToContainerJSON(ctnr, query.Size) if err != nil { utils.InternalServerError(w, err) return |