postgres

package
v2.0.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2023 License: Apache-2.0, Apache-2.0 Imports: 7 Imported by: 0

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/tianmaotalk/beego/v2/server/web/session/postgresql"
"github.com/tianmaotalk/beego/v2/server/web/session"

)

func init() {
	globalSessions, _ = session.NewManager("postgresql", ``{"cookieName":"gosessionid","gclifetime":3600,"ProviderConfig":"user=pqgotest dbname=pqgotest sslmode=verify-full"}``)
	go globalSessions.GC()
}

Index

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

func (mp *Provider) SessionAll(context.Context) int

SessionAll count values in postgresql session

func (*Provider) SessionDestroy

func (mp *Provider) SessionDestroy(ctx context.Context, sid string) error

SessionDestroy delete postgresql session by sid

func (*Provider) SessionExist

func (mp *Provider) SessionExist(ctx context.Context, sid string) (bool, error)

SessionExist check postgresql session exist

func (*Provider) SessionGC

func (mp *Provider) SessionGC(context.Context)

SessionGC delete expired values in postgresql session

func (*Provider) SessionInit

func (mp *Provider) SessionInit(ctx context.Context, maxlifetime int64, savePath string) error

SessionInit init postgresql session. savepath is the connection string of postgresql.

func (*Provider) SessionRead

func (mp *Provider) SessionRead(ctx context.Context, sid string) (session.Store, error)

SessionRead get postgresql session by sid

func (*Provider) SessionRegenerate

func (mp *Provider) SessionRegenerate(ctx context.Context, oldsid, sid string) (session.Store, error)

SessionRegenerate generate new sid for postgresql session

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.

func (*SessionStore) Set

func (st *SessionStore) Set(ctx context.Context, key, value interface{}) error

Set value in postgresql session. it is temp value in map.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL