feat: update some errorhandling #161
This commit is contained in:
@@ -2,6 +2,7 @@ package utils
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"me-fit/types"
|
||||
"net/http"
|
||||
@@ -35,9 +36,16 @@ func LogErrorMsg(message string) {
|
||||
errorMetric.Inc()
|
||||
}
|
||||
|
||||
func TriggerToast(w http.ResponseWriter, r *http.Request, class string, message string) {
|
||||
if isHtmx(r) {
|
||||
w.Header().Set("HX-Trigger", fmt.Sprintf(`{"toast": "%v|%v"}`, class, message))
|
||||
} else {
|
||||
LogErrorMsg("Trying to trigger toast in non-HTMX request")
|
||||
}
|
||||
}
|
||||
|
||||
func DoRedirect(w http.ResponseWriter, r *http.Request, url string) {
|
||||
isHtmx := r.Header.Get("HX-Request") == "true"
|
||||
if isHtmx {
|
||||
if isHtmx(r) {
|
||||
w.Header().Add("HX-Redirect", url)
|
||||
} else {
|
||||
http.Redirect(w, r, url, http.StatusSeeOther)
|
||||
@@ -75,12 +83,11 @@ func GetUserFromSession(db *sql.DB, r *http.Request) *types.User {
|
||||
}
|
||||
|
||||
if createdAt.Add(time.Duration(8 * time.Hour)).Before(time.Now()) {
|
||||
user.SessionValid = false
|
||||
return nil
|
||||
} else {
|
||||
user.SessionValid = true
|
||||
return &user
|
||||
}
|
||||
|
||||
return &user
|
||||
}
|
||||
|
||||
func getSessionID(r *http.Request) string {
|
||||
@@ -91,3 +98,7 @@ func getSessionID(r *http.Request) string {
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func isHtmx(r *http.Request) bool {
|
||||
return r.Header.Get("HX-Request") == "true"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user