Handle DeleteTunnel for UI in API

This commit is contained in:
Anders Pitman
2020-10-14 10:42:54 -06:00
parent b0c888221d
commit 770440ef79
2 changed files with 14 additions and 5 deletions

11
api.go
View File

@@ -80,6 +80,17 @@ func (a *Api) CreateTunnel(tokenData TokenData, params url.Values) (*Tunnel, err
return &tunnel, nil
}
func (a *Api) DeleteTunnel(tokenData TokenData, params url.Values) error {
domain := params.Get("domain")
if domain == "" {
return errors.New("Invalid domain parameter")
}
a.tunMan.DeleteTunnel(domain)
return nil
}
func (a *Api) handleTunnels(w http.ResponseWriter, r *http.Request) {
token, err := extractToken("access_token", r)

View File

@@ -204,14 +204,12 @@ func (h *WebUiHandler) handleWebUiRequest(w http.ResponseWriter, r *http.Request
r.ParseForm()
if len(r.Form["domain"]) != 1 {
err := h.api.DeleteTunnel(tokenData, r.Form)
if err != nil {
w.WriteHeader(400)
w.Write([]byte("Invalid domain parameter"))
h.alertDialog(w, r, err.Error(), "/tunnels")
return
}
domain := r.Form["domain"][0]
h.tunMan.DeleteTunnel(domain)
http.Redirect(w, r, "/", 307)