mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	The old nolint comment didn't seem to work anymore; ``` client/container_list.go:39:22: SA1019: filters.ToParamWithVersion is deprecated: do not use in any new code; use ToJSON instead (staticcheck) client/events.go:94:22: SA1019: filters.ToParamWithVersion is deprecated: do not use in any new code; use ToJSON instead (staticcheck) client/image_list.go:28:22: SA1019: filters.ToParamWithVersion is deprecated: do not use in any new code; use ToJSON instead (staticcheck) ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package client // import "github.com/docker/docker/client"
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
	"encoding/json"
 | 
						|
	"net/url"
 | 
						|
 | 
						|
	"github.com/docker/docker/api/types"
 | 
						|
	"github.com/docker/docker/api/types/filters"
 | 
						|
	"github.com/docker/docker/api/types/versions"
 | 
						|
)
 | 
						|
 | 
						|
// ImageList returns a list of images in the docker host.
 | 
						|
func (cli *Client) ImageList(ctx context.Context, options types.ImageListOptions) ([]types.ImageSummary, error) {
 | 
						|
	var images []types.ImageSummary
 | 
						|
	query := url.Values{}
 | 
						|
 | 
						|
	optionFilters := options.Filters
 | 
						|
	referenceFilters := optionFilters.Get("reference")
 | 
						|
	if versions.LessThan(cli.version, "1.25") && len(referenceFilters) > 0 {
 | 
						|
		query.Set("filter", referenceFilters[0])
 | 
						|
		for _, filterValue := range referenceFilters {
 | 
						|
			optionFilters.Del("reference", filterValue)
 | 
						|
		}
 | 
						|
	}
 | 
						|
	if optionFilters.Len() > 0 {
 | 
						|
		//nolint:staticcheck // ignore SA1019 for old code
 | 
						|
		filterJSON, err := filters.ToParamWithVersion(cli.version, optionFilters)
 | 
						|
		if err != nil {
 | 
						|
			return images, err
 | 
						|
		}
 | 
						|
		query.Set("filters", filterJSON)
 | 
						|
	}
 | 
						|
	if options.All {
 | 
						|
		query.Set("all", "1")
 | 
						|
	}
 | 
						|
 | 
						|
	serverResp, err := cli.get(ctx, "/images/json", query, nil)
 | 
						|
	defer ensureReaderClosed(serverResp)
 | 
						|
	if err != nil {
 | 
						|
		return images, err
 | 
						|
	}
 | 
						|
 | 
						|
	err = json.NewDecoder(serverResp.body).Decode(&images)
 | 
						|
	return images, err
 | 
						|
}
 |