From 02255ddaa4948fd94450fd5d9d2ee9b147e88352 Mon Sep 17 00:00:00 2001 From: Vincent Batts Date: Fri, 30 May 2014 16:42:37 -0400 Subject: [PATCH] filters: don't encode empty set. API docs Docker-DCO-1.1-Signed-off-by: Vincent Batts (github: vbatts) --- api/client/commands.go | 27 ++++++++++--------- .../reference/api/docker_remote_api_v1.12.md | 10 +++++++ server/server.go | 2 +- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/api/client/commands.go b/api/client/commands.go index 4e013b8fe..4f0915ba7 100644 --- a/api/client/commands.go +++ b/api/client/commands.go @@ -1172,13 +1172,15 @@ func (cli *DockerCli) CmdImages(args ...string) error { matchName := cmd.Arg(0) // FIXME: --viz and --tree are deprecated. Remove them in a future version. if *flViz || *flTree { - filterJson, err := filters.ToParam(imageFilterArgs) - if err != nil { - return err - } v := url.Values{ - "all": []string{"1"}, - "filters": []string{filterJson}, + "all": []string{"1"}, + } + if len(imageFilterArgs) > 0 { + filterJson, err := filters.ToParam(imageFilterArgs) + if err != nil { + return err + } + v.Set("filters", filterJson) } body, _, err := readBody(cli.call("GET", "/images/json?"+v.Encode(), nil, false)) @@ -1242,12 +1244,13 @@ func (cli *DockerCli) CmdImages(args ...string) error { fmt.Fprintf(cli.out, " base [style=invisible]\n}\n") } } else { - filterJson, err := filters.ToParam(imageFilterArgs) - if err != nil { - return err - } - v := url.Values{ - "filters": []string{filterJson}, + v := url.Values{} + if len(imageFilterArgs) > 0 { + filterJson, err := filters.ToParam(imageFilterArgs) + if err != nil { + return err + } + v.Set("filters", filterJson) } if cmd.NArg() == 1 { diff --git a/docs/sources/reference/api/docker_remote_api_v1.12.md b/docs/sources/reference/api/docker_remote_api_v1.12.md index 9cc84f4ff..23afa36bc 100644 --- a/docs/sources/reference/api/docker_remote_api_v1.12.md +++ b/docs/sources/reference/api/docker_remote_api_v1.12.md @@ -712,6 +712,16 @@ Copy files or folders of container `id` } ] + + Query Parameters: + +   + + - **all** – 1/True/true or 0/False/false, default false + - **filters** – a json encoded value of the filters (a map[string][]string) to process on the images list. + + + ### Create an image `POST /images/create` diff --git a/server/server.go b/server/server.go index 8c70842a4..ff9d37030 100644 --- a/server/server.go +++ b/server/server.go @@ -712,7 +712,7 @@ func (srv *Server) Images(job *engine.Job) engine.Status { } } - if job.GetenvBool("all") && !filt_tagged { + if job.GetenvBool("all") && filt_tagged { allImages, err = srv.daemon.Graph().Map() } else { allImages, err = srv.daemon.Graph().Heads()