34 lines
811 B
Go
34 lines
811 B
Go
package handlers
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
|
|
"github.com/gorilla/sessions"
|
|
)
|
|
|
|
type UserHandler struct {
|
|
store sessions.Store
|
|
}
|
|
|
|
func NewUserHandler(store sessions.Store) *UserHandler {
|
|
return &UserHandler{store: store}
|
|
}
|
|
|
|
func (h *UserHandler) Me(w http.ResponseWriter, r *http.Request) {
|
|
w.Header().Set("Content-Type", "application/json")
|
|
json.NewEncoder(w).Encode(map[string]string{"status": "ok"})
|
|
}
|
|
|
|
func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
|
|
w.Header().Set("Content-Type", "application/json")
|
|
json.NewEncoder(w).Encode(map[string]string{"status": "ok"})
|
|
}
|
|
|
|
func (h *UserHandler) Logout(w http.ResponseWriter, r *http.Request) {
|
|
session, _ := h.store.Get(r, "fb_session")
|
|
session.Options.MaxAge = -1
|
|
session.Save(r, w)
|
|
w.WriteHeader(http.StatusNoContent)
|
|
}
|