diff options
author | Steve Taylor <steven@taylormuff.co.uk> | 2020-03-05 22:53:50 +0000 |
---|---|---|
committer | Steve Taylor <steven@taylormuff.co.uk> | 2020-03-05 22:53:50 +0000 |
commit | da15f2f8817a432bce7e578de23554e5ed854f13 (patch) | |
tree | 2870d30e2d6c482d11c70c209d8dac6add6a2de8 | |
parent | 1ef96364fe2a665ef6867adc3f9953b50232601c (diff) | |
download | podman-da15f2f8817a432bce7e578de23554e5ed854f13.tar.gz podman-da15f2f8817a432bce7e578de23554e5ed854f13.tar.bz2 podman-da15f2f8817a432bce7e578de23554e5ed854f13.zip |
Implement size parameter on ListContainers
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
-rw-r--r-- | pkg/api/handlers/generic/containers.go | 6 | ||||
-rw-r--r-- | pkg/api/handlers/types.go | 17 |
2 files changed, 16 insertions, 7 deletions
diff --git a/pkg/api/handlers/generic/containers.go b/pkg/api/handlers/generic/containers.go index ab587ded4..5b52cdfa9 100644 --- a/pkg/api/handlers/generic/containers.go +++ b/pkg/api/handlers/generic/containers.go @@ -57,6 +57,10 @@ func ListContainers(w http.ResponseWriter, r *http.Request) { }{ // 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 @@ -85,7 +89,7 @@ func ListContainers(w http.ResponseWriter, r *http.Request) { var list = make([]*handlers.Container, len(containers)) for i, ctnr := range containers { - api, err := handlers.LibpodToContainer(ctnr, infoData) + api, err := handlers.LibpodToContainer(ctnr, infoData, query.Size) if err != nil { utils.InternalServerError(w, err) return diff --git a/pkg/api/handlers/types.go b/pkg/api/handlers/types.go index 0c3548370..ada249e56 100644 --- a/pkg/api/handlers/types.go +++ b/pkg/api/handlers/types.go @@ -347,7 +347,7 @@ func ImageDataToImageInspect(ctx context.Context, l *libpodImage.Image) (*ImageI } -func LibpodToContainer(l *libpod.Container, infoData []define.InfoData) (*Container, error) { +func LibpodToContainer(l *libpod.Container, infoData []define.InfoData, sz bool) (*Container, error) { imageId, imageName := l.Image() var ( @@ -366,11 +366,16 @@ func LibpodToContainer(l *libpod.Container, infoData []define.InfoData) (*Contai stateStr = "created" } - if sizeRW, err = l.RWSize(); err != nil { - return nil, err - } - if sizeRootFs, err = l.RootFsSize(); err != nil { - return nil, err + if sz { + if sizeRW, err = l.RWSize(); err != nil { + return nil, err + } + if sizeRootFs, err = l.RootFsSize(); err != nil { + return nil, err + } + } else { + sizeRW = 0 + sizeRootFs = 0 } return &Container{docker.Container{ |