func handleLock(s api.FluxService) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { inst := getInstanceID(r) service := mux.Vars(r)["service"] id, err := flux.ParseServiceID(service) if err != nil { w.WriteHeader(http.StatusBadRequest) fmt.Fprintf(w, errors.Wrapf(err, "parsing service ID %q", id).Error()) return } if err = s.Lock(inst, id); err != nil { w.WriteHeader(http.StatusInternalServerError) fmt.Fprintf(w, err.Error()) return } w.WriteHeader(http.StatusOK) }) }