Jelajahi Sumber

Reenable docker push

Guillaume J. Charmes 12 tahun lalu
induk
melakukan
2f4de3867d
1 mengubah file dengan 19 tambahan dan 20 penghapusan
  1. 19 20
      api.go

+ 19 - 20
api.go

@@ -333,26 +333,25 @@ func postImagesInsert(srv *Server, w http.ResponseWriter, r *http.Request, vars
 }
 
 func postImagesPush(srv *Server, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
-	// if err := parseForm(r); err != nil {
-	// 	return err
-	// }
-
-	// registry := r.Form.Get("registry")
-
-	// if vars == nil {
-	// 	return fmt.Errorf("Missing parameter")
-	// }
-	// name := vars["name"]
-
-	// in, out, err := hijackServer(w)
-	// if err != nil {
-	// 	return err
-	// }
-	// defer in.Close()
-	// fmt.Fprintf(out, "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.docker.raw-stream\r\n\r\n")
-	// if err := srv.ImagePush(name, registry, out); err != nil {
-	// 	fmt.Fprintf(out, "Error: %s\n", err)
-	// }
+	if err := parseForm(r); err != nil {
+		return err
+	}
+	registry := r.Form.Get("registry")
+
+	if vars == nil {
+		return fmt.Errorf("Missing parameter")
+	}
+	name := vars["name"]
+
+	in, out, err := hijackServer(w)
+	if err != nil {
+		return err
+	}
+	defer in.Close()
+	fmt.Fprintf(out, "HTTP/1.1 200 OK\r\nContent-Type: application/vnd.docker.raw-stream\r\n\r\n")
+	if err := srv.ImagePush(name, registry, out); err != nil {
+		fmt.Fprintf(out, "Error: %s\n", err)
+	}
 	return nil
 }