Documentation ¶
Overview ¶
Package scssession is an Ambient plugin that provides session management using SCS.
Index ¶
- Constants
- type Plugin
- func (p *Plugin) GrantRequests() []ambient.GrantRequest
- func (p *Plugin) Middleware() []func(next http.Handler) http.Handler
- func (p *Plugin) PluginName() string
- func (p *Plugin) PluginVersion() string
- func (p *Plugin) SessionManager(logger ambient.Logger, ss ambient.SessionStorer) (ambient.AppSession, error)
- func (p *Plugin) Settings() []ambient.Setting
Examples ¶
Constants ¶
View Source
const (
// SessionKey allows user to set the session key.
SessionKey = "Session Key"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Plugin ¶
type Plugin struct { *ambient.PluginBase // contains filtered or unexported fields }
Plugin represents an Ambient plugin.
func New ¶
New returns an Ambient plugin that provides session management using SCS.
Example ¶
package main import ( "log" "github.com/ambientkit/ambient" "github.com/ambientkit/ambient/pkg/ambientapp" "github.com/ambientkit/plugin/logger/zaplogger" "github.com/ambientkit/plugin/pkg/uuid" "github.com/ambientkit/plugin/sessionmanager/scssession" "github.com/ambientkit/plugin/storage/memorystorage" ) func main() { sessionManager := scssession.New(uuid.EncodedString(32)) plugins := &ambient.PluginLoader{ // Core plugins are implicitly trusted. Router: nil, TemplateEngine: nil, SessionManager: sessionManager, // Trusted plugins are those that are typically needed to boot so they // will be enabled and given full access. TrustedPlugins: map[string]bool{}, Plugins: []ambient.Plugin{}, Middleware: []ambient.MiddlewarePlugin{ // Middleware - executes top to bottom. sessionManager, }, } _, _, err := ambientapp.NewApp("myapp", "1.0", zaplogger.New(), ambient.StoragePluginGroup{ Storage: memorystorage.New(), }, plugins) if err != nil { log.Fatalln(err.Error()) } }
Output:
func (*Plugin) GrantRequests ¶
func (p *Plugin) GrantRequests() []ambient.GrantRequest
GrantRequests returns a list of grants requested by the plugin.
func (*Plugin) Middleware ¶
Middleware returns router middleware.
func (*Plugin) PluginName ¶
PluginName returns the plugin name.
func (*Plugin) PluginVersion ¶
PluginVersion returns the plugin version.
func (*Plugin) SessionManager ¶
func (p *Plugin) SessionManager(logger ambient.Logger, ss ambient.SessionStorer) (ambient.AppSession, error)
SessionManager returns the session manager.
Directories ¶
Path | Synopsis |
---|---|
Package websession provides session management.
|
Package websession provides session management. |
Click to show internal directories.
Click to hide internal directories.