Documentation ¶
Overview ¶
Package couchbase for session provider
depend on github.com/couchbaselabs/go-couchbasee
go install github.com/couchbaselabs/go-couchbase
Usage: import(
_ "github.com/brotherbui/beego/v2/server/web/session/couchbase" "github.com/brotherbui/beego/v2/server/web/session"
)
func init() { globalSessions, _ = session.NewManager("couchbase", ``{"cookieName":"gosessionid","gclifetime":3600,"ProviderConfig":"http://host:port/, Pool, Bucket"}``) go globalSessions.GC() }
Index ¶
- type Provider
- func (cp *Provider) SessionAll(context.Context) int
- func (cp *Provider) SessionDestroy(ctx context.Context, sid string) error
- func (cp *Provider) SessionExist(ctx context.Context, sid string) (bool, error)
- func (cp *Provider) SessionGC(context.Context)
- func (cp *Provider) SessionInit(ctx context.Context, maxlifetime int64, cfg string) error
- func (cp *Provider) SessionRead(ctx context.Context, sid string) (session.Store, error)
- func (cp *Provider) SessionRegenerate(ctx context.Context, oldsid, sid string) (session.Store, error)
- type SessionStore
- func (cs *SessionStore) Delete(ctx context.Context, key interface{}) error
- func (cs *SessionStore) Flush(context.Context) error
- func (cs *SessionStore) Get(ctx context.Context, key interface{}) interface{}
- func (cs *SessionStore) SessionID(context.Context) string
- func (cs *SessionStore) SessionRelease(_ context.Context, _ http.ResponseWriter)
- func (cs *SessionStore) SessionReleaseIfPresent(c context.Context, w http.ResponseWriter)
- func (cs *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 { SavePath string `json:"save_path"` Pool string `json:"pool"` Bucket string `json:"bucket"` // contains filtered or unexported fields }
Provider couchabse provided
func (*Provider) SessionAll ¶
SessionAll return all active session
func (*Provider) SessionDestroy ¶
SessionDestroy Remove Bucket in this couchbase
func (*Provider) SessionExist ¶
SessionExist Check couchbase session exist. it checks sid exist or not.
func (*Provider) SessionInit ¶
SessionInit init couchbase session savepath like couchbase server REST/JSON URL For v1.x e.g. http://host:port/, Pool, Bucket For v2.x, you should pass json string. e.g. { "save_path": "http://host:port/", "pool": "mypool", "bucket": "mybucket"}
func (*Provider) SessionRead ¶
SessionRead read couchbase session by sid
type SessionStore ¶
type SessionStore struct {
// contains filtered or unexported fields
}
SessionStore store each session
func (*SessionStore) Delete ¶
func (cs *SessionStore) Delete(ctx context.Context, key interface{}) error
Delete value in couchbase session by given key
func (*SessionStore) Flush ¶
func (cs *SessionStore) Flush(context.Context) error
Flush Clean all values in couchbase session
func (*SessionStore) Get ¶
func (cs *SessionStore) Get(ctx context.Context, key interface{}) interface{}
Get value from couchbase session
func (*SessionStore) SessionID ¶
func (cs *SessionStore) SessionID(context.Context) string
SessionID Get couchbase session store id
func (*SessionStore) SessionRelease ¶
func (cs *SessionStore) SessionRelease(_ context.Context, _ http.ResponseWriter)
SessionRelease Write couchbase session with Gob string
func (*SessionStore) SessionReleaseIfPresent ¶
func (cs *SessionStore) SessionReleaseIfPresent(c context.Context, w http.ResponseWriter)
SessionReleaseIfPresent is not supported now. If we want to use couchbase, we may refactor the code to use couchbase collection.