Documentation ¶
Overview ¶
Package postgres for session provider
depends on github.com/lib/pq:
go install github.com/lib/pq
needs this table in your database:
CREATE TABLE session ( session_key char(64) NOT NULL, session_data bytea, session_expiry timestamp NOT NULL, CONSTRAINT session_key PRIMARY KEY(session_key) );
will be activated with these settings in app.conf:
SessionOn = true SessionProvider = postgresql SessionSavePath = "user=a password=b dbname=c sslmode=disable" SessionName = session
Usage: import(
_ "github.com/W3-Engineers-Ltd/Radiant/server/web/session/postgresql" "github.com/W3-Engineers-Ltd/Radiant/server/web/session"
)
func init() { globalSessions, _ = session.NewManager("postgresql", ``{"cookieName":"gosessionid","gclifetime":3600,"ProviderConfig":"user=pqgotest dbname=pqgotest sslmode=verify-full"}``) go globalSessions.GC() }
more docs: http://radiant.me/docs/module/session.md
Index ¶
- type Provider
- func (mp *Provider) SessionAll(context.Context) int
- func (mp *Provider) SessionDestroy(ctx context.Context, sid string) error
- func (mp *Provider) SessionExist(ctx context.Context, sid string) (bool, error)
- func (mp *Provider) SessionGC(context.Context)
- func (mp *Provider) SessionInit(ctx context.Context, maxlifetime int64, savePath string) error
- func (mp *Provider) SessionRead(ctx context.Context, sid string) (session.Store, error)
- func (mp *Provider) SessionRegenerate(ctx context.Context, oldsid, sid string) (session.Store, error)
- type SessionStore
- func (st *SessionStore) Delete(ctx context.Context, key interface{}) error
- func (st *SessionStore) Flush(context.Context) error
- func (st *SessionStore) Get(ctx context.Context, key interface{}) interface{}
- func (st *SessionStore) SessionID(context.Context) string
- func (st *SessionStore) SessionRelease(ctx context.Context, w http.ResponseWriter)
- func (st *SessionStore) Set(ctx context.Context, key, value interface{}) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider postgresql session provider
func (*Provider) SessionAll ¶
SessionAll count values in postgresql session
func (*Provider) SessionDestroy ¶
SessionDestroy delete postgresql session by sid
func (*Provider) SessionExist ¶
SessionExist check postgresql session exist
func (*Provider) SessionInit ¶
SessionInit init postgresql session. savepath is the connection string of postgresql.
func (*Provider) SessionRead ¶
SessionRead get postgresql session by sid
type SessionStore ¶
type SessionStore struct {
// contains filtered or unexported fields
}
SessionStore postgresql session store
func (*SessionStore) Delete ¶
func (st *SessionStore) Delete(ctx context.Context, key interface{}) error
Delete value in postgresql session
func (*SessionStore) Flush ¶
func (st *SessionStore) Flush(context.Context) error
Flush clear all values in postgresql session
func (*SessionStore) Get ¶
func (st *SessionStore) Get(ctx context.Context, key interface{}) interface{}
Get value from postgresql session
func (*SessionStore) SessionID ¶
func (st *SessionStore) SessionID(context.Context) string
SessionID get session id of this postgresql session store
func (*SessionStore) SessionRelease ¶
func (st *SessionStore) SessionRelease(ctx context.Context, w http.ResponseWriter)
SessionRelease save postgresql session values to database. must call this method to save values to database.