client/utils.go
d8dcbf3e
 package client
 
a6be56b5
 import (
 	"github.com/docker/docker/api/types/filters"
 	"net/url"
 	"regexp"
 )
d8dcbf3e
 
 var headerRegexp = regexp.MustCompile(`\ADocker/.+\s\((.+)\)\z`)
 
 // getDockerOS returns the operating system based on the server header from the daemon.
 func getDockerOS(serverHeader string) string {
 	var osType string
 	matches := headerRegexp.FindStringSubmatch(serverHeader)
 	if len(matches) > 0 {
 		osType = matches[1]
 	}
 	return osType
 }
a6be56b5
 
 // getFiltersQuery returns a url query with "filters" query term, based on the
 // filters provided.
 func getFiltersQuery(f filters.Args) (url.Values, error) {
 	query := url.Values{}
 	if f.Len() > 0 {
 		filterJSON, err := filters.ToParam(f)
 		if err != nil {
 			return query, err
 		}
 		query.Set("filters", filterJSON)
 	}
 	return query, nil
 }