code: func (api UsersAPI) UpdateAvatarLink(w http.ResponseWriter, r *http.Request) {
  	username := mux.Vars(r)["username"]
  	oldLabel := mux.Vars(r)["label"]
  
  	body := user.Avatar{}
  	err := json.NewDecoder(r.Body).Decode(&body)
  	if err != nil {
  		http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
  		return
  	}
  
  	newLabel := body.Label
  
  	userMgr := user.NewManager(r)
  	oldAvatar, errorOccurred := validateAvatarUpdateLabels(oldLabel, newLabel, username, userMgr, w)
  	if errorOccurred {
  		return
  	}
  
  	newAvatar := &user.Avatar{
  		Label:  newLabel,
  		Source: body.Source,
  	}
  
  	replaceAvatar(w, r, oldAvatar, newAvatar, username, userMgr)
  
  }
docs: // UpdateAvatarLink is the handler for PUT /users/{username}/avatar/{label}
  // Update the avatar and possibly the link to the avatar