summaryrefslogtreecommitdiff
path: root/pkg/api/handlers/libpod
diff options
context:
space:
mode:
authorPaul Holzinger <paul.holzinger@web.de>2020-09-02 18:13:58 +0200
committerPaul Holzinger <paul.holzinger@web.de>2020-09-07 15:39:41 +0200
commit5b8f3f2f1f863dfb58e5d3cfda95e7ecb6582b22 (patch)
treea413ccdad49a09f2bae47dff5c549d12465ccb27 /pkg/api/handlers/libpod
parent1184cdf03d8464451d36b24643e57b65a8b97980 (diff)
downloadpodman-5b8f3f2f1f863dfb58e5d3cfda95e7ecb6582b22.tar.gz
podman-5b8f3f2f1f863dfb58e5d3cfda95e7ecb6582b22.tar.bz2
podman-5b8f3f2f1f863dfb58e5d3cfda95e7ecb6582b22.zip
APIv2 Add network list filtering
Add the filter option to the libpod endpoint. Add support for the name filter on the docker endpoint. Add apiv2 tests for the network list endpoints. Enable podman network integration tests for remote. Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
Diffstat (limited to 'pkg/api/handlers/libpod')
-rw-r--r--pkg/api/handlers/libpod/networks.go16
1 files changed, 15 insertions, 1 deletions
diff --git a/pkg/api/handlers/libpod/networks.go b/pkg/api/handlers/libpod/networks.go
index 475522664..dfece2a4e 100644
--- a/pkg/api/handlers/libpod/networks.go
+++ b/pkg/api/handlers/libpod/networks.go
@@ -42,7 +42,21 @@ func CreateNetwork(w http.ResponseWriter, r *http.Request) {
}
func ListNetworks(w http.ResponseWriter, r *http.Request) {
runtime := r.Context().Value("runtime").(*libpod.Runtime)
- options := entities.NetworkListOptions{}
+ decoder := r.Context().Value("decoder").(*schema.Decoder)
+ query := struct {
+ Filter string `schema:"filter"`
+ }{
+ // override any golang type defaults
+ }
+ if err := decoder.Decode(&query, r.URL.Query()); err != nil {
+ utils.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest,
+ errors.Wrapf(err, "Failed to parse parameters for %s", r.URL.String()))
+ return
+ }
+
+ options := entities.NetworkListOptions{
+ Filter: query.Filter,
+ }
ic := abi.ContainerEngine{Libpod: runtime}
reports, err := ic.NetworkList(r.Context(), options)
if err != nil {