(w http.ResponseWriter, r *http.Request)
| 992 | } |
| 993 | |
| 994 | func (s *DockerServer) pullImage(w http.ResponseWriter, r *http.Request) { |
| 995 | fromImageName := r.URL.Query().Get("fromImage") |
| 996 | tag := r.URL.Query().Get("tag") |
| 997 | if fromImageName != "" { |
| 998 | if tag != "" { |
| 999 | separator := ":" |
| 1000 | if strings.HasPrefix(tag, "sha256") { |
| 1001 | separator = "@" |
| 1002 | } |
| 1003 | fromImageName = fmt.Sprintf("%s%s%s", fromImageName, separator, tag) |
| 1004 | } |
| 1005 | } |
| 1006 | image := docker.Image{ |
| 1007 | ID: s.generateID(), |
| 1008 | Config: &docker.Config{}, |
| 1009 | } |
| 1010 | s.iMut.Lock() |
| 1011 | if _, exists := s.imgIDs[fromImageName]; fromImageName == "" || !exists { |
| 1012 | s.images[image.ID] = image |
| 1013 | if fromImageName != "" { |
| 1014 | s.imgIDs[fromImageName] = image.ID |
| 1015 | } |
| 1016 | } |
| 1017 | s.iMut.Unlock() |
| 1018 | } |
| 1019 | |
| 1020 | func (s *DockerServer) pushImage(w http.ResponseWriter, r *http.Request) { |
| 1021 | name := mux.Vars(r)["name"] |
nothing calls this directly
no test coverage detected