Browse code

fixed issue with viz

Victor Vieux authored on 2013/05/10 06:52:12
Showing 3 changed files
... ...
@@ -110,34 +110,30 @@ func getContainersExport(srv *Server, w http.ResponseWriter, r *http.Request) ([
110 110
 }
111 111
 
112 112
 func getImages(srv *Server, w http.ResponseWriter, r *http.Request) ([]byte, error) {
113
-	vars := mux.Vars(r)
114
-	format := vars["format"]
115
-
116 113
 	if err := parseForm(r); err != nil {
117 114
 		return nil, err
118 115
 	}
119 116
 
120
-	if format == "viz" {
121
-		if err := srv.ImagesViz(w); err != nil {
122
-			return nil, err
123
-		}
124
-		return nil, nil
125
-	} else if format == "" || format == "json" {
126
-		all := r.Form.Get("all") == "1"
127
-		filter := r.Form.Get("filter")
128
-		only_ids := r.Form.Get("only_ids") == "1"
117
+	all := r.Form.Get("all") == "1"
118
+	filter := r.Form.Get("filter")
119
+	only_ids := r.Form.Get("only_ids") == "1"
129 120
 
130
-		outs, err := srv.Images(all, only_ids, filter)
131
-		if err != nil {
132
-			return nil, err
133
-		}
134
-		b, err := json.Marshal(outs)
135
-		if err != nil {
136
-			return nil, err
137
-		}
138
-		return b, nil
121
+	outs, err := srv.Images(all, only_ids, filter)
122
+	if err != nil {
123
+		return nil, err
139 124
 	}
140
-	return nil, fmt.Errorf("No such format: %s", format)
125
+	b, err := json.Marshal(outs)
126
+	if err != nil {
127
+		return nil, err
128
+	}
129
+	return b, nil
130
+}
131
+
132
+func getImagesViz(srv *Server, w http.ResponseWriter, r *http.Request) ([]byte, error) {
133
+	if err := srv.ImagesViz(w); err != nil {
134
+		return nil, err
135
+	}
136
+	return nil, nil
141 137
 }
142 138
 
143 139
 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
508 508
 	return b, nil
509 509
 }
510 510
 
511
-func ListenAndServe(addr string, srv *Server) error {
511
+func ListenAndServe(addr string, srv *Server, logging bool) error {
512 512
 	r := mux.NewRouter()
513 513
 	log.Printf("Listening for HTTP on %s\n", addr)
514 514
 
... ...
@@ -518,7 +514,8 @@ func ListenAndServe(addr string, srv *Server) error {
518 518
 			"/version":                      getVersion,
519 519
 			"/containers/{name:.*}/export":  getContainersExport,
520 520
 			"/images":                       getImages,
521
-			"/images/{format}":              getImages,
521
+			"/images/json":                  getImages,
522
+			"/images/viz":                   getImagesViz,
522 523
 			"/info":                         getInfo,
523 524
 			"/images/search":                getImagesSearch,
524 525
 			"/images/{name:.*}/history":     getImagesHistory,
... ...
@@ -558,8 +555,9 @@ func ListenAndServe(addr string, srv *Server) error {
558 558
 			localFct := fct
559 559
 			r.Path(localRoute).Methods(localMethod).HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
560 560
 				Debugf("Calling %s %s", localMethod, localRoute)
561
-				log.Println(r.Method, r.RequestURI)
562
-
561
+				if logging {
562
+					log.Println(r.Method, r.RequestURI)
563
+				}
563 564
 				if strings.Contains(r.Header.Get("User-Agent"), "Docker-Client/") {
564 565
 					userAgent := strings.Split(r.Header.Get("User-Agent"), "/")
565 566
 					if len(userAgent) == 2 && userAgent[1] != VERSION {
... ...
@@ -17,7 +17,7 @@ func init() {
17 17
 	srv := &Server{
18 18
 		runtime: runtime,
19 19
 	}
20
-	go ListenAndServe("0.0.0.0:4243", srv)
20
+	go ListenAndServe("0.0.0.0:4243", srv, false)
21 21
 
22 22
 }
23 23
 
... ...
@@ -102,5 +102,5 @@ func daemon(pidfile string, autoRestart bool) error {
102 102
 		return err
103 103
 	}
104 104
 
105
-	return docker.ListenAndServe("0.0.0.0:4243", server)
105
+	return docker.ListenAndServe("0.0.0.0:4243", server, true)
106 106
 }