Documentation
¶
Overview ¶
Package session provides session management for persisting cookies and variables across HTTP requests, supporting both directory-scoped and named session modes.
Index ¶
- func ClearAllSessions(baseDir string) error
- func ClearAllSessionsWithFS(fs filesystem.FileSystem, baseDir string) error
- func ListAllSessions(baseDir string) ([]string, error)
- func ListAllSessionsWithFS(fs filesystem.FileSystem, baseDir string) ([]string, error)
- type Cookie
- type SessionManager
- func (s *SessionManager) ClearAll()
- func (s *SessionManager) ClearCookies()
- func (s *SessionManager) ClearUserInputs()
- func (s *SessionManager) ClearVariables()
- func (s *SessionManager) Delete() error
- func (s *SessionManager) GetAllCookies() map[string][]Cookie
- func (s *SessionManager) GetAllUserInputs() map[string]map[string]string
- func (s *SessionManager) GetAllVariables() map[string]any
- func (s *SessionManager) GetCookiesForURL(urlStr string) []*http.Cookie
- func (s *SessionManager) GetSessionPath() string
- func (s *SessionManager) GetUserInputs(urlKey string) map[string]string
- func (s *SessionManager) GetVariable(name string) (any, bool)
- func (s *SessionManager) GetVariableAsString(name string) (string, bool)
- func (s *SessionManager) Load() error
- func (s *SessionManager) LoadCookies() error
- func (s *SessionManager) LoadUserInputs() error
- func (s *SessionManager) LoadVariables() error
- func (s *SessionManager) Save() error
- func (s *SessionManager) SaveCookies() error
- func (s *SessionManager) SaveUserInputs() error
- func (s *SessionManager) SaveVariables() error
- func (s *SessionManager) SetCookiesFromResponse(urlStr string, cookies []*http.Cookie)
- func (s *SessionManager) SetUserInputs(urlKey string, values map[string]string)
- func (s *SessionManager) SetVariable(name string, value any)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ClearAllSessions ¶
ClearAllSessions removes all session data
func ClearAllSessionsWithFS ¶ added in v0.2.10
func ClearAllSessionsWithFS(fs filesystem.FileSystem, baseDir string) error
ClearAllSessionsWithFS removes all session data using a custom file system.
func ListAllSessions ¶
ListAllSessions returns all session directories
func ListAllSessionsWithFS ¶ added in v0.2.10
func ListAllSessionsWithFS(fs filesystem.FileSystem, baseDir string) ([]string, error)
ListAllSessionsWithFS returns all session directories using a custom file system.
Types ¶
type Cookie ¶
type Cookie struct {
Name string `json:"name"`
Value string `json:"value"`
Path string `json:"path,omitempty"`
Domain string `json:"domain,omitempty"`
Expires time.Time `json:"expires,omitempty"`
MaxAge int `json:"maxAge,omitempty"`
Secure bool `json:"secure,omitempty"`
HttpOnly bool `json:"httpOnly,omitempty"`
SameSite string `json:"sameSite,omitempty"`
}
Cookie represents a serializable cookie
type SessionManager ¶
type SessionManager struct {
// contains filtered or unexported fields
}
SessionManager manages session persistence (cookies and variables)
func NewSessionManager ¶
func NewSessionManager(baseDir, httpFilePath, sessionName string) (*SessionManager, error)
NewSessionManager creates a new session manager If sessionName is provided, uses named session; otherwise uses directory-based session
func NewSessionManagerWithFS ¶ added in v0.2.10
func NewSessionManagerWithFS(fs filesystem.FileSystem, baseDir, httpFilePath, sessionName string) (*SessionManager, error)
NewSessionManagerWithFS creates a new session manager with a custom file system. This is primarily useful for testing.
func (*SessionManager) ClearAll ¶
func (s *SessionManager) ClearAll()
ClearAll clears both cookies and variables
func (*SessionManager) ClearCookies ¶
func (s *SessionManager) ClearCookies()
ClearCookies clears all cookies
func (*SessionManager) ClearUserInputs ¶ added in v0.2.14
func (s *SessionManager) ClearUserInputs()
ClearUserInputs clears all stored user input values.
func (*SessionManager) ClearVariables ¶
func (s *SessionManager) ClearVariables()
ClearVariables clears all variables
func (*SessionManager) Delete ¶
func (s *SessionManager) Delete() error
Delete removes the session directory from disk
func (*SessionManager) GetAllCookies ¶
func (s *SessionManager) GetAllCookies() map[string][]Cookie
GetAllCookies returns all cookies
func (*SessionManager) GetAllUserInputs ¶ added in v0.2.14
func (s *SessionManager) GetAllUserInputs() map[string]map[string]string
GetAllUserInputs returns all stored user input values.
func (*SessionManager) GetAllVariables ¶
func (s *SessionManager) GetAllVariables() map[string]any
GetAllVariables returns all session variables
func (*SessionManager) GetCookiesForURL ¶
func (s *SessionManager) GetCookiesForURL(urlStr string) []*http.Cookie
GetCookiesForURL returns cookies for a given URL
func (*SessionManager) GetSessionPath ¶
func (s *SessionManager) GetSessionPath() string
GetSessionPath returns the session path (for display purposes)
func (*SessionManager) GetUserInputs ¶ added in v0.2.14
func (s *SessionManager) GetUserInputs(urlKey string) map[string]string
GetUserInputs retrieves stored values for a URL pattern. Returns nil if no values are stored for the given key.
func (*SessionManager) GetVariable ¶
func (s *SessionManager) GetVariable(name string) (any, bool)
GetVariable gets a session variable
func (*SessionManager) GetVariableAsString ¶
func (s *SessionManager) GetVariableAsString(name string) (string, bool)
GetVariableAsString gets a session variable as string
func (*SessionManager) Load ¶
func (s *SessionManager) Load() error
Load loads both cookies and variables from disk
func (*SessionManager) LoadCookies ¶
func (s *SessionManager) LoadCookies() error
LoadCookies loads cookies from disk
func (*SessionManager) LoadUserInputs ¶ added in v0.2.14
func (s *SessionManager) LoadUserInputs() error
LoadUserInputs loads user input values from disk.
func (*SessionManager) LoadVariables ¶
func (s *SessionManager) LoadVariables() error
LoadVariables loads variables from disk
func (*SessionManager) Save ¶
func (s *SessionManager) Save() error
Save saves both cookies and variables to disk
func (*SessionManager) SaveCookies ¶
func (s *SessionManager) SaveCookies() error
SaveCookies saves cookies to disk
func (*SessionManager) SaveUserInputs ¶ added in v0.2.14
func (s *SessionManager) SaveUserInputs() error
SaveUserInputs persists user input values to disk.
func (*SessionManager) SaveVariables ¶
func (s *SessionManager) SaveVariables() error
SaveVariables saves variables to disk
func (*SessionManager) SetCookiesFromResponse ¶
func (s *SessionManager) SetCookiesFromResponse(urlStr string, cookies []*http.Cookie)
SetCookiesFromResponse stores cookies from an HTTP response
func (*SessionManager) SetUserInputs ¶ added in v0.2.14
func (s *SessionManager) SetUserInputs(urlKey string, values map[string]string)
SetUserInputs stores values for a URL pattern.
func (*SessionManager) SetVariable ¶
func (s *SessionManager) SetVariable(name string, value any)
SetVariable sets a session variable