diff options
Diffstat (limited to 'ipn/localapi/localapi.go')
| -rw-r--r-- | ipn/localapi/localapi.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ipn/localapi/localapi.go b/ipn/localapi/localapi.go index 89366aa41..57928d6ba 100644 --- a/ipn/localapi/localapi.go +++ b/ipn/localapi/localapi.go @@ -1156,6 +1156,7 @@ func (h *Handler) serveTKADisable(w http.ResponseWriter, r *http.Request) { // - GET /profiles/: list all profiles (JSON-encoded array of ipn.LoginProfiles) // - PUT /profiles/: add new profile (no response). A separate // StartLoginInteractive() is needed to populate and persist the new profile. +// - DELETE /profiles/: delete all profile (no response) // - GET /profiles/current: current profile (JSON-ecoded ipn.LoginProfile) // - GET /profiles/<id>: output profile (JSON-ecoded ipn.LoginProfile) // - POST /profiles/<id>: switch to profile (no response) @@ -1182,6 +1183,13 @@ func (h *Handler) serveProfiles(w http.ResponseWriter, r *http.Request) { return } w.WriteHeader(http.StatusCreated) + case http.MethodDelete: + err := h.b.DeleteAllProfiles() + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + w.WriteHeader(http.StatusCreated) default: http.Error(w, "use GET or PUT", http.StatusMethodNotAllowed) } |
