session

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2019 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Clear

func Clear(ctx context.Context)

Clear removes all of the values from the session store. It does not remove the session token itself (the Cookie for example). To remove the token also, call Reset() in addition to Clear()

func ClearStack added in v0.0.3

func ClearStack(ctx context.Context, stack string)

ClearStack clears the named stack

func Get

func Get(ctx context.Context, key string) (v interface{})

Get returns an interface value stored a the given key. nil is returned if nothing is there.

func GetBool

func GetBool(ctx context.Context, key string) (v bool, ok bool)

GetBool returns the boolean at the given key in the session store. If the key does not exist OR if what does exist at that key is not a boolean, ok will be false and false will be returned.

func GetFloat

func GetFloat(ctx context.Context, key string) (v float64, ok bool)

GetFloat returns the float64 at the given key in the session store. If the key does not exist OR if what does exist at that key is not a float, ok will be false and 0.0 will be returned.

func GetInt

func GetInt(ctx context.Context, key string) (v int, ok bool)

GetInt returns the integer at the given key in the session store. If the key does not exist OR if what does exist at that key is not an integer, ok will be false and a zero will be returned.

func GetString

func GetString(ctx context.Context, key string) (v string, ok bool)

GetString returns the string at the given key in the session store. If the key does not exist OR if what does exist at that key is not a string, ok will be false and an empty string will be returned.

func Has

func Has(ctx context.Context, key string) bool

Has returns true if the given key exists in the session store

func PopStack added in v0.0.3

func PopStack(ctx context.Context, stack string) (value string)

PopStack pops the given value off of the named stack and returns it.

func PushStack added in v0.0.3

func PushStack(ctx context.Context, stack string, value string)

PushStack pushes the given value onto the given named stack in the session. The name becomes a variable in the current session. The value must be JsonSerializable.

func Remove

func Remove(ctx context.Context, key string)

Remove will remove the value at the given key in the session store.

func Reset

func Reset(ctx context.Context)

Reset will destroy the old session token. If you also call Clear, or don't have any session data after processing the request, it will remove the session token all together after the request. If you do have session data, this will cause the session data to be moved to a new session token.

func Set

func Set(ctx context.Context, key string, v interface{})

Set will put the value at the given key in the session store.

func SetBool

func SetBool(ctx context.Context, key string, v bool)

SetBool will put the bool value at the given key in the session store.

func SetFloat

func SetFloat(ctx context.Context, key string, v float64)

SetFloat will put the float64 value at the given key in the session store.

func SetInt

func SetInt(ctx context.Context, key string, v int)

SetInt will put the int value at the given key in the session store.

func SetSessionManager

func SetSessionManager(m ManagerI)

SetSessionManager injects the given session manager as the global session manager

func SetString

func SetString(ctx context.Context, key string, v string)

SetString will put the string value at the given key in the session store.

func Use

func Use(next http.Handler) http.Handler

Use injects the session manager into the page management process. It adds to the context in the Request object so that later session requests can get to the session information, and also wraps the given handler in pre and post processing functions. It should be called from your middleware processing stack.

Types

type ManagerI

type ManagerI interface {
	// Use wraps the given handler in session management stuff. It must decode the session and put it into the sessionContext key in the context
	// before processing the request, and then encode the session data after the request. See the ScsManager for an example.
	Use(http.Handler) http.Handler
}

ManagerI is the interface for session managers.

func NewScsManager added in v0.0.3

func NewScsManager(mgr *scs.Manager) ManagerI

type Mock added in v0.0.9

type Mock struct {
}

func NewMock added in v0.0.9

func NewMock() *Mock

func (Mock) Use added in v0.0.9

func (mgr Mock) Use(next http.Handler) http.Handler

func (Mock) With added in v0.0.9

func (mgr Mock) With(ctx context.Context) context.Context

Call with to insert the mock session into the current session

type ScsManager added in v0.0.3

type ScsManager struct {
	*scs.Manager
}

ScsManager satisfies the ManagerI interface for the github.com/alexedwards/scs session manager. You can use it as an example of how to incorporate a different session manager into your app.

func (ScsManager) Use added in v0.0.3

func (mgr ScsManager) Use(next http.Handler) http.Handler

Use is an http handler that wraps the session management process. It will get and put session data into the http context.

type Session

type Session struct {
	*maps.SafeMap // container for session data
}

Session is the object that is stored in the context. (Actually a pointer to that object). You normally do not work with the Session object, but instead should call session.GetInt, session.SetInt, etc. Session is exported so that it can be created by custom session managers.

func NewSession

func NewSession() *Session

NewSession creates a new session object for use by session managers. You should not normally need to call this. To reset the session data, call Reset()

func (*Session) MarshalBinary

func (s *Session) MarshalBinary() ([]byte, error)

MarshallBinary serializes the session data for storage.

func (*Session) UnmarshalBinary

func (s *Session) UnmarshalBinary(data []byte) error

UnmarshallBinary unserializes saved session data

Directories

Path Synopsis
The location package implements a location queue built on top of the session service.
The location package implements a location queue built on top of the session service.

Jump to

Keyboard shortcuts

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