2015-09-23 19:42:08 -04:00
|
|
|
package local
|
2015-08-24 13:57:39 -04:00
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
|
2015-09-23 19:42:08 -04:00
|
|
|
"github.com/docker/docker/api/server/httputils"
|
2015-09-29 17:32:07 -04:00
|
|
|
"golang.org/x/net/context"
|
2015-08-24 13:57:39 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
// getContainersByName inspects containers configuration and serializes it as json.
|
2015-09-23 19:42:08 -04:00
|
|
|
func (s *router) getContainersByName(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
|
2015-09-25 20:49:02 +08:00
|
|
|
displaySize := httputils.BoolValue(r, "size")
|
2015-08-24 13:57:39 -04:00
|
|
|
|
|
|
|
var json interface{}
|
|
|
|
var err error
|
|
|
|
|
2015-09-23 19:42:08 -04:00
|
|
|
version := httputils.VersionFromContext(ctx)
|
2015-08-31 07:55:51 -07:00
|
|
|
|
2015-08-24 13:57:39 -04:00
|
|
|
switch {
|
|
|
|
case version.LessThan("1.20"):
|
2015-09-29 13:51:40 -04:00
|
|
|
json, err = s.daemon.ContainerInspectPre120(vars["name"])
|
2015-08-24 13:57:39 -04:00
|
|
|
case version.Equal("1.20"):
|
2015-09-29 13:51:40 -04:00
|
|
|
json, err = s.daemon.ContainerInspect120(vars["name"])
|
2015-08-24 13:57:39 -04:00
|
|
|
default:
|
2015-09-25 20:49:02 +08:00
|
|
|
json, err = s.daemon.ContainerInspect(vars["name"], displaySize)
|
2015-08-24 13:57:39 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2015-09-23 19:42:08 -04:00
|
|
|
return httputils.WriteJSON(w, http.StatusOK, json)
|
2015-08-24 13:57:39 -04:00
|
|
|
}
|