Documentation
¶
Index ¶
- Constants
- func Many(names []string, store Store) app.HandlerFunc
- func New(name string, store Store) app.HandlerFunc
- func Sessions(name string, store Store) app.HandlerFuncdeprecated
- func SessionsMany(names []string, store Store) app.HandlerFuncdeprecated
- type GobSerializer
- type JSONSerializer
- type Options
- type Serializer
- type Session
- type Store
Constants ¶
View Source
const (
DefaultKey = "github.com/hertz-contrib/sessions"
)
Variables ¶
This section is empty.
Functions ¶
func Sessions
deprecated
func Sessions(name string, store Store) app.HandlerFunc
Deprecated: use New instead of Sessions
func SessionsMany
deprecated
func SessionsMany(names []string, store Store) app.HandlerFunc
Deprecated: use Many instead of SessionsMany
Types ¶
type GobSerializer ¶ added in v1.0.3
type GobSerializer struct{}
GobSerializer uses gob package to encode the session map
func (GobSerializer) Deserialize ¶ added in v1.0.3
func (s GobSerializer) Deserialize(d []byte, ss *sessions.Session) error
Deserialize back to map[interface{}]interface{}
type JSONSerializer ¶ added in v1.0.3
type JSONSerializer struct{}
JSONSerializer encode the session map to JSON.
func (JSONSerializer) Deserialize ¶ added in v1.0.3
func (s JSONSerializer) Deserialize(d []byte, ss *sessions.Session) error
Deserialize back to map[string]interface{}
type Options ¶
type Options struct {
Path string
Domain string
// MaxAge=0 means no 'Max-Age' attribute specified.
// MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'.
// MaxAge>0 means Max-Age attribute present and given in seconds.
MaxAge int
Secure bool
HttpOnly bool
// rfc-draft to preventing CSRF: https://tools.ietf.org/html/draft-west-first-party-cookies-07
// refer: https://godoc.org/net/http
// https://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-cookie-attribute/
SameSite http.SameSite
}
Options stores configuration for a session or session store. Fields are a subset of http.Cookie fields.
func (Options) ToGorillaOptions ¶
type Serializer ¶ added in v1.0.3
type Serializer interface {
Deserialize(d []byte, ss *sessions.Session) error
Serialize(ss *sessions.Session) ([]byte, error)
}
Serializer provides an interface hook for alternative serializers
type Session ¶
type Session interface {
// ID of the session, generated by stores. It should not be used for user data.
ID() string
// Get returns the session value associated to the given key.
Get(key interface{}) interface{}
// Set sets the session value associated to the given key.
Set(key, val interface{})
// Delete removes the session value associated to the given key.
Delete(key interface{})
// Clear deletes all values in the session.
Clear()
// AddFlash adds a flash message to the session.
// A single variadic argument is accepted, and it is optional: it defines the flash key.
// If not defined "_flash" is used by default.
AddFlash(value interface{}, vars ...string)
// Flashes returns a slice of flash messages from the session.
// A single variadic argument is accepted, and it is optional: it defines the flash key.
// If not defined "_flash" is used by default.
Flashes(vars ...string) []interface{}
// Options sets configuration for a session.
Options(Options)
// Save saves all sessions used during the current request.
Save() error
}
Session Wraps thinly gorilla-session methods. Session stores the values and optional configuration for a session.
func DefaultMany ¶
func DefaultMany(c *app.RequestContext, name string) Session
DefaultMany shortcut to get session with given name
Click to show internal directories.
Click to hide internal directories.