package handlers import ( "net/http" "sneak.berlin/go/webhooker/internal/database" ) // HandleLoginPage returns a handler for the login page (GET) func (h *Handlers) HandleLoginPage() http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { // Check if already logged in sess, err := h.session.Get(r) if err == nil && h.session.IsAuthenticated(sess) { http.Redirect(w, r, "/", http.StatusSeeOther) return } // Render login page data := map[string]any{ "Error": "", } h.renderTemplate(w, r, "login.html", data) } } // HandleLoginSubmit handles the login form submission (POST) func (h *Handlers) HandleLoginSubmit() http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { // Limit request body to prevent memory exhaustion r.Body = http.MaxBytesReader(w, r.Body, 1<