mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #28217 from Microsoft/jjh/373engineapifollowup
Tidy GetDockerOS() function
This commit is contained in:
commit
4453fd22a7
4 changed files with 18 additions and 16 deletions
|
@ -21,6 +21,6 @@ func (cli *Client) ContainerStats(ctx context.Context, containerID string, strea
|
||||||
return types.ContainerStats{}, err
|
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
|
return types.ContainerStats{Body: resp.body, OSType: osType}, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"regexp"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
|
@ -15,8 +14,6 @@ import (
|
||||||
"github.com/docker/docker/api/types/container"
|
"github.com/docker/docker/api/types/container"
|
||||||
)
|
)
|
||||||
|
|
||||||
var headerRegexp = regexp.MustCompile(`\ADocker/.+\s\((.+)\)\z`)
|
|
||||||
|
|
||||||
// ImageBuild sends request to the daemon to build images.
|
// 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
|
// The Body in the response implement an io.ReadCloser and it's up to the caller to
|
||||||
// close it.
|
// close it.
|
||||||
|
@ -39,7 +36,7 @@ func (cli *Client) ImageBuild(ctx context.Context, buildContext io.Reader, optio
|
||||||
return types.ImageBuildResponse{}, err
|
return types.ImageBuildResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
osType := GetDockerOS(serverResp.header.Get("Server"))
|
osType := getDockerOS(serverResp.header.Get("Server"))
|
||||||
|
|
||||||
return types.ImageBuildResponse{
|
return types.ImageBuildResponse{
|
||||||
Body: serverResp.body,
|
Body: serverResp.body,
|
||||||
|
@ -124,13 +121,3 @@ func (cli *Client) imageBuildOptionsToQuery(options types.ImageBuildOptions) (ur
|
||||||
|
|
||||||
return query, nil
|
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
|
|
||||||
}
|
|
||||||
|
|
|
@ -222,7 +222,7 @@ func TestGetDockerOS(t *testing.T) {
|
||||||
"Foo/v1.22 (bar)": "",
|
"Foo/v1.22 (bar)": "",
|
||||||
}
|
}
|
||||||
for header, os := range cases {
|
for header, os := range cases {
|
||||||
g := GetDockerOS(header)
|
g := getDockerOS(header)
|
||||||
if g != os {
|
if g != os {
|
||||||
t.Fatalf("Expected %s, got %s", os, g)
|
t.Fatalf("Expected %s, got %s", os, g)
|
||||||
}
|
}
|
||||||
|
|
15
client/utils.go
Normal file
15
client/utils.go
Normal file
|
@ -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
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue