|
@@ -17,7 +17,6 @@ import (
|
|
"io"
|
|
"io"
|
|
"io/ioutil"
|
|
"io/ioutil"
|
|
"log"
|
|
"log"
|
|
- "mime"
|
|
|
|
"net"
|
|
"net"
|
|
"net/http"
|
|
"net/http"
|
|
"net/http/pprof"
|
|
"net/http/pprof"
|
|
@@ -29,25 +28,10 @@ import (
|
|
"time"
|
|
"time"
|
|
)
|
|
)
|
|
|
|
|
|
-// FIXME: move code common to client and server to common.go
|
|
|
|
-const (
|
|
|
|
- APIVERSION = 1.9
|
|
|
|
- DEFAULTHTTPHOST = "127.0.0.1"
|
|
|
|
- DEFAULTUNIXSOCKET = "/var/run/docker.sock"
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
var (
|
|
var (
|
|
activationLock chan struct{}
|
|
activationLock chan struct{}
|
|
)
|
|
)
|
|
|
|
|
|
-func ValidateHost(val string) (string, error) {
|
|
|
|
- host, err := utils.ParseHost(DEFAULTHTTPHOST, DEFAULTUNIXSOCKET, val)
|
|
|
|
- if err != nil {
|
|
|
|
- return val, err
|
|
|
|
- }
|
|
|
|
- return host, nil
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
type HttpApiFunc func(eng *engine.Engine, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error
|
|
type HttpApiFunc func(eng *engine.Engine, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error
|
|
|
|
|
|
func hijackServer(w http.ResponseWriter) (io.ReadCloser, io.Writer, error) {
|
|
func hijackServer(w http.ResponseWriter) (io.ReadCloser, io.Writer, error) {
|
|
@@ -129,27 +113,6 @@ func getBoolParam(value string) (bool, error) {
|
|
return ret, nil
|
|
return ret, nil
|
|
}
|
|
}
|
|
|
|
|
|
-//TODO remove, used on < 1.5 in getContainersJSON
|
|
|
|
-func displayablePorts(ports *engine.Table) string {
|
|
|
|
- result := []string{}
|
|
|
|
- for _, port := range ports.Data {
|
|
|
|
- if port.Get("IP") == "" {
|
|
|
|
- result = append(result, fmt.Sprintf("%d/%s", port.GetInt("PublicPort"), port.Get("Type")))
|
|
|
|
- } else {
|
|
|
|
- result = append(result, fmt.Sprintf("%s:%d->%d/%s", port.Get("IP"), port.GetInt("PublicPort"), port.GetInt("PrivatePort"), port.Get("Type")))
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return strings.Join(result, ", ")
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func MatchesContentType(contentType, expectedType string) bool {
|
|
|
|
- mimetype, _, err := mime.ParseMediaType(contentType)
|
|
|
|
- if err != nil {
|
|
|
|
- utils.Errorf("Error parsing media type: %s error: %s", contentType, err.Error())
|
|
|
|
- }
|
|
|
|
- return err == nil && mimetype == expectedType
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
func postAuth(eng *engine.Engine, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
|
|
func postAuth(eng *engine.Engine, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
|
|
var (
|
|
var (
|
|
authConfig, err = ioutil.ReadAll(r.Body)
|
|
authConfig, err = ioutil.ReadAll(r.Body)
|