Documentation ¶
Index ¶
- Constants
- func GetRedisStore(s RedisStore) (rediStore *redistore.RediStore, err error)
- func Sessions(name string, store Store) gin.HandlerFunc
- func SetKeyPrefix(s RedisStore, prefix string) error
- type Options
- type RedisStore
- func NewStore(size int, network, address, password string, sessionSize int, ...) (RedisStore, error)
- func NewStoreWithDB(size int, network, address, password, DB string, sessionSize int, ...) (RedisStore, error)
- func NewStoreWithPool(pool *redis.Pool, sessionSize int, keyPairs ...[]byte) (RedisStore, error)
- type Session
- type Store
Constants ¶
const (
DefaultKey = "github.com/craftions/gin-redis-session"
)
Variables ¶
This section is empty.
Functions ¶
func GetRedisStore ¶
func GetRedisStore(s RedisStore) (rediStore *redistore.RediStore, err error)
GetRedisStore get the actual woking store. Ref: https://godoc.org/github.com/boj/redistore#RediStore
func SetKeyPrefix ¶
func SetKeyPrefix(s RedisStore, prefix string) error
SetKeyPrefix sets the key prefix in the redis database.
Types ¶
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 RedisStore ¶
type RedisStore interface { Store }
func NewStore ¶
func NewStore(size int, network, address, password string, sessionSize int, keyPairs ...[]byte) (RedisStore, error)
size: maximum number of idle connections. network: tcp or udp address: host:port password: redis-password sessionSize: 4096 <> 4kb Keys are defined in pairs to allow key rotation, but the common case is to set a single authentication key and optionally an encryption key.
The first key in a pair is used for authentication and the second for encryption. The encryption key can be set to nil or omitted in the last pair, but the authentication key is required in all pairs.
It is recommended to use an authentication key with 32 or 64 bytes. The encryption key, if set, must be either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256 modes.
func NewStoreWithDB ¶
func NewStoreWithDB(size int, network, address, password, DB string, sessionSize int, keyPairs ...[]byte) (RedisStore, error)
NewStoreWithDB - like NewStore but accepts `DB` parameter to select redis DB instead of using the default one ("0")
Ref: https://godoc.org/github.com/boj/redistore#NewRediStoreWithDB
func NewStoreWithPool ¶
NewStoreWithPool instantiates a RediStore with a *redis.Pool passed in.
Ref: https://godoc.org/github.com/boj/redistore#NewRediStoreWithPool
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 interface{}, 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 }
Wraps thinly gorilla-session methods. Session stores the values and optional configuration for a session.