| package client // import "github.com/docker/docker/client" | |
| import ( | |
| "net/url" | |
| "regexp" | |
| "github.com/docker/docker/api/types/filters" | |
| ) | |
| 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 | |
| } | |
| // 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.ToJSON(f) | |
| if err != nil { | |
| return query, err | |
| } | |
| query.Set("filters", filterJSON) | |
| } | |
| return query, nil | |
| } |