diff --git a/client/container_stats.go b/client/container_stats.go index 3be7a988f4..4758c66e32 100644 --- a/client/container_stats.go +++ b/client/container_stats.go @@ -21,6 +21,6 @@ func (cli *Client) ContainerStats(ctx context.Context, containerID string, strea return types.ContainerStats{}, err } - osType := GetDockerOS(resp.header.Get("Server")) + osType := getDockerOS(resp.header.Get("Server")) return types.ContainerStats{Body: resp.body, OSType: osType}, err } diff --git a/client/image_build.go b/client/image_build.go index 0049e4e290..6fde75dcfd 100644 --- a/client/image_build.go +++ b/client/image_build.go @@ -6,7 +6,6 @@ import ( "io" "net/http" "net/url" - "regexp" "strconv" "golang.org/x/net/context" @@ -15,8 +14,6 @@ import ( "github.com/docker/docker/api/types/container" ) -var headerRegexp = regexp.MustCompile(`\ADocker/.+\s\((.+)\)\z`) - // ImageBuild sends request to the daemon to build images. // The Body in the response implement an io.ReadCloser and it's up to the caller to // close it. @@ -39,7 +36,7 @@ func (cli *Client) ImageBuild(ctx context.Context, buildContext io.Reader, optio return types.ImageBuildResponse{}, err } - osType := GetDockerOS(serverResp.header.Get("Server")) + osType := getDockerOS(serverResp.header.Get("Server")) return types.ImageBuildResponse{ Body: serverResp.body, @@ -124,13 +121,3 @@ func (cli *Client) imageBuildOptionsToQuery(options types.ImageBuildOptions) (ur return query, nil } - -// 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 -} diff --git a/client/image_build_test.go b/client/image_build_test.go index 53dd93376a..ec0cbe2ee4 100644 --- a/client/image_build_test.go +++ b/client/image_build_test.go @@ -222,7 +222,7 @@ func TestGetDockerOS(t *testing.T) { "Foo/v1.22 (bar)": "", } for header, os := range cases { - g := GetDockerOS(header) + g := getDockerOS(header) if g != os { t.Fatalf("Expected %s, got %s", os, g) } diff --git a/client/utils.go b/client/utils.go new file mode 100644 index 0000000000..03bf4c82fa --- /dev/null +++ b/client/utils.go @@ -0,0 +1,15 @@ +package client + +import "regexp" + +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 +}