Victor Vieux 12 лет назад
Родитель
Сommit
c423a790d6
3 измененных файлов с 26 добавлено и 28 удалено
  1. 24 26
      api.go
  2. 1 1
      api_test.go
  3. 1 1
      docker/docker.go

+ 24 - 26
api.go

@@ -110,34 +110,30 @@ func getContainersExport(srv *Server, w http.ResponseWriter, r *http.Request) ([
 }
 
 func getImages(srv *Server, w http.ResponseWriter, r *http.Request) ([]byte, error) {
-	vars := mux.Vars(r)
-	format := vars["format"]
-
 	if err := parseForm(r); err != nil {
 		return nil, err
 	}
 
-	if format == "viz" {
-		if err := srv.ImagesViz(w); err != nil {
-			return nil, err
-		}
-		return nil, nil
-	} else if format == "" || format == "json" {
-		all := r.Form.Get("all") == "1"
-		filter := r.Form.Get("filter")
-		only_ids := r.Form.Get("only_ids") == "1"
+	all := r.Form.Get("all") == "1"
+	filter := r.Form.Get("filter")
+	only_ids := r.Form.Get("only_ids") == "1"
 
-		outs, err := srv.Images(all, only_ids, filter)
-		if err != nil {
-			return nil, err
-		}
-		b, err := json.Marshal(outs)
-		if err != nil {
-			return nil, err
-		}
-		return b, nil
+	outs, err := srv.Images(all, only_ids, filter)
+	if err != nil {
+		return nil, err
 	}
-	return nil, fmt.Errorf("No such format: %s", format)
+	b, err := json.Marshal(outs)
+	if err != nil {
+		return nil, err
+	}
+	return b, nil
+}
+
+func getImagesViz(srv *Server, w http.ResponseWriter, r *http.Request) ([]byte, error) {
+	if err := srv.ImagesViz(w); err != nil {
+		return nil, err
+	}
+	return nil, nil
 }
 
 func getInfo(srv *Server, w http.ResponseWriter, r *http.Request) ([]byte, error) {
@@ -508,7 +504,7 @@ func getImagesByName(srv *Server, w http.ResponseWriter, r *http.Request) ([]byt
 	return b, nil
 }
 
-func ListenAndServe(addr string, srv *Server) error {
+func ListenAndServe(addr string, srv *Server, logging bool) error {
 	r := mux.NewRouter()
 	log.Printf("Listening for HTTP on %s\n", addr)
 
@@ -518,7 +514,8 @@ func ListenAndServe(addr string, srv *Server) error {
 			"/version":                      getVersion,
 			"/containers/{name:.*}/export":  getContainersExport,
 			"/images":                       getImages,
-			"/images/{format}":              getImages,
+			"/images/json":                  getImages,
+			"/images/viz":                   getImagesViz,
 			"/info":                         getInfo,
 			"/images/search":                getImagesSearch,
 			"/images/{name:.*}/history":     getImagesHistory,
@@ -558,8 +555,9 @@ func ListenAndServe(addr string, srv *Server) error {
 			localFct := fct
 			r.Path(localRoute).Methods(localMethod).HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 				Debugf("Calling %s %s", localMethod, localRoute)
-				log.Println(r.Method, r.RequestURI)
-
+				if logging {
+					log.Println(r.Method, r.RequestURI)
+				}
 				if strings.Contains(r.Header.Get("User-Agent"), "Docker-Client/") {
 					userAgent := strings.Split(r.Header.Get("User-Agent"), "/")
 					if len(userAgent) == 2 && userAgent[1] != VERSION {

+ 1 - 1
api_test.go

@@ -17,7 +17,7 @@ func init() {
 	srv := &Server{
 		runtime: runtime,
 	}
-	go ListenAndServe("0.0.0.0:4243", srv)
+	go ListenAndServe("0.0.0.0:4243", srv, false)
 
 }
 

+ 1 - 1
docker/docker.go

@@ -102,5 +102,5 @@ func daemon(pidfile string, autoRestart bool) error {
 		return err
 	}
 
-	return docker.ListenAndServe("0.0.0.0:4243", server)
+	return docker.ListenAndServe("0.0.0.0:4243", server, true)
 }