func unsetEnv(w http.ResponseWriter, r *http.Request, t *auth.Token) error { msg := "You must provide the list of environment variables, in JSON format" if r.Body == nil { return &errors.HTTP{Code: http.StatusBadRequest, Message: msg} } var variables []string defer r.Body.Close() err := json.NewDecoder(r.Body).Decode(&variables) if err != nil { return &errors.HTTP{Code: http.StatusBadRequest, Message: msg} } if len(variables) == 0 { return &errors.HTTP{Code: http.StatusBadRequest, Message: msg} } appName := r.URL.Query().Get(":app") u, err := t.User() if err != nil { return err } rec.Log(u.Email, "unset-env", "app="+appName, fmt.Sprintf("envs=%s", variables)) app, err := getApp(appName, u) if err != nil { return err } return app.UnsetEnvs(variables, true) }
func UnsetEnv(w http.ResponseWriter, r *http.Request, u *auth.User) error { msg := "You must provide the environment variables" if r.Body == nil { return &errors.Http{Code: http.StatusBadRequest, Message: msg} } body, err := ioutil.ReadAll(r.Body) if err != nil { return err } if len(body) == 0 { return &errors.Http{Code: http.StatusBadRequest, Message: msg} } appName := r.URL.Query().Get(":name") app, err := getApp(appName, u) if err != nil { return err } return app.UnsetEnvs(strings.Fields(string(body)), true) }