// LogoutHandler returns a web handler function that deletes the user's // sessions. func LogoutHandler(localdb db.LocalDB, auth evesso.Authenticator, sess server.Sessionizer) web.HandlerFunc { successMsg := []byte("{ \"success\": true }") return func(c web.C, w http.ResponseWriter, r *http.Request) { s := sess.GetSession(&c, w, r) err := localdb.LogoutSession(s.Cookie) if err != nil { http.Error(w, "Unable to find session", http.StatusTeapot) log.Printf("Error logging out: %v", err) return } // Serve some JSON that confirms success. w.Write(successMsg) } }