24 lines
460 B
Go
24 lines
460 B
Go
package webcontroller
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"fornaxian.tech/log"
|
|
"github.com/julienschmidt/httprouter"
|
|
)
|
|
|
|
func (wc *WebController) serveLogout(
|
|
w http.ResponseWriter,
|
|
r *http.Request,
|
|
p httprouter.Params,
|
|
) {
|
|
if key, err := wc.getAPIKey(r); err == nil {
|
|
var api = wc.api.Login(key)
|
|
if err = api.DeleteUserSession(key); err != nil {
|
|
log.Warn("logout failed for session '%s': %s", key, err)
|
|
}
|
|
}
|
|
|
|
http.Redirect(w, r, "/", http.StatusSeeOther)
|
|
}
|