56 lines
847 B
Go
56 lines
847 B
Go
package response
|
|
|
|
import (
|
|
"github.com/gorilla/sessions"
|
|
)
|
|
|
|
type Session struct {
|
|
inner *sessions.Session
|
|
}
|
|
|
|
func (s *Session) FlashGet() any {
|
|
list := s.inner.Flashes()
|
|
if len(list) < 1 {
|
|
return nil
|
|
} else {
|
|
return list[0]
|
|
}
|
|
}
|
|
|
|
func (s *Session) FlashPeek() any {
|
|
flash, ok := s.inner.Values["_flash"]
|
|
if !ok {
|
|
return nil
|
|
}
|
|
list := flash.([]any)
|
|
if len(list) < 1 {
|
|
return nil
|
|
} else {
|
|
return list[0]
|
|
}
|
|
}
|
|
|
|
func (s *Session) FlashSet(value any) {
|
|
s.inner.AddFlash(value)
|
|
}
|
|
|
|
func (s *Session) SetID(value string) {
|
|
s.inner.ID = value
|
|
}
|
|
|
|
func (s *Session) SetValue(key any, value any) {
|
|
s.inner.Values[key] = value
|
|
}
|
|
|
|
func (s *Session) GetValue(key any) any {
|
|
return s.inner.Values[key]
|
|
}
|
|
|
|
func (s *Session) ClearValues() {
|
|
s.inner.Values = nil
|
|
}
|
|
|
|
func (s *Session) Options() *sessions.Options {
|
|
return s.inner.Options
|
|
}
|