Files
Maintainarr/internal/services/session.go

30 lines
562 B
Go

package services
import (
"net/http"
"github.com/gorilla/sessions"
)
const sessionName = "maintainarr"
type SessionService struct {
store *sessions.CookieStore
}
func NewSessionService(secret string) *SessionService {
store := sessions.NewCookieStore([]byte(secret))
store.Options = &sessions.Options{
Path: "/",
HttpOnly: true,
MaxAge: 86400 * 7,
SameSite: http.SameSiteLaxMode,
}
return &SessionService{store: store}
}
func (s *SessionService) Get(r *http.Request) (*sessions.Session, error) {
return s.store.Get(r, sessionName)
}