func PutTagV1Handler(ctx *macaron.Context, log *logs.BeeLogger) (int, []byte) { namespace := ctx.Params(":namespace") repository := ctx.Params(":repository") tag := ctx.Params(":tag") bodystr, _ := ctx.Req.Body().String() rege, _ := regexp.Compile(`"([[:alnum:]]+)"`) imageIds := rege.FindStringSubmatch(bodystr) r := new(models.Repository) if err := r.PutTag(imageIds[1], namespace, repository, tag); err != nil { log.Error("[REGISTRY API V1] Failed to save repository %v/%v tag: %v", namespace, repository, err.Error()) result, _ := json.Marshal(map[string]string{"message": "Failed to save repository tag"}) return http.StatusBadRequest, result } result, _ := json.Marshal(map[string]string{}) return http.StatusOK, result }