diff --git a/handlers/middleware.go b/handlers/middleware.go index ac9642f..81ae497 100644 --- a/handlers/middleware.go +++ b/handlers/middleware.go @@ -8,7 +8,6 @@ import ( "errors" "golias/config" "golias/pkg/cache" - "log/slog" "net/http" ) @@ -17,13 +16,15 @@ var ( memcache cache.Cache ) +// add middleware to login http requests; ai! + func GetSession(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { cookieName := "session_token" sessionCookie, err := r.Cookie(cookieName) if err != nil { msg := "auth failed; failed to get session token from cookies" - slog.Debug(msg, "error", err) + log.Debug(msg, "error", err) next.ServeHTTP(w, r) return } @@ -31,13 +32,13 @@ func GetSession(next http.Handler) http.Handler { DecodeString(sessionCookie.Value) if err != nil { msg := "auth failed; failed to decode b64 cookie" - slog.Debug(msg, "error", err) + log.Debug(msg, "error", err) next.ServeHTTP(w, r) return } cookieValue := string(cookieValueB) if len(cookieValue) < sha256.Size { - slog.Warn("small cookie", "size", len(cookieValue)) + log.Warn("small cookie", "size", len(cookieValue)) next.ServeHTTP(w, r) return } @@ -50,7 +51,7 @@ func GetSession(next http.Handler) http.Handler { mac.Write([]byte(sessionToken)) expectedSignature := mac.Sum(nil) if !hmac.Equal([]byte(signature), expectedSignature) { - slog.Debug("cookie with an invalid sign") + log.Debug("cookie with an invalid sign") next.ServeHTTP(w, r) return } @@ -58,14 +59,14 @@ func GetSession(next http.Handler) http.Handler { if err != nil { msg := "auth failed; session does not exists" err = errors.New(msg) - slog.Debug(msg, "error", err) + log.Debug(msg, "error", err) next.ServeHTTP(w, r) return } if userSession.IsExpired() { memcache.RemoveKey(sessionToken) msg := "session is expired" - slog.Debug(msg, "error", err, "token", sessionToken) + log.Debug(msg, "error", err, "token", sessionToken) next.ServeHTTP(w, r) return } @@ -74,7 +75,7 @@ func GetSession(next http.Handler) http.Handler { if err := cacheSetSession(sessionToken, userSession); err != nil { msg := "failed to marshal user session" - slog.Warn(msg, "error", err) + log.Warn(msg, "error", err) next.ServeHTTP(w, r) return }