session

package
v0.0.0-...-839d480 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2022 License: BSD-3-Clause Imports: 11 Imported by: 0

README

micro/session


A session is initialized using New. A session is deactivated after the alotted time is up. To retrieve an active session use Store.Get. To deactivate a session manually use Store.Deactivate.

Documentation


package session // import "bitbucket.org/_mikey/micro/session"

Package session

VARIABLES

var ErrInvalidSessionID = errors.New("invalid session id")
    ErrInvalidSessionID indicates session id is invalid


TYPES

type Session struct {
	ID       string
	Data     map[string]any
	Duration time.Duration
	// Has unexported fields.
}
    Session defines a session

func New(d time.Duration) *Session
    New returns a new *Session

func (sess *Session) Destroy()
    Destroy (self-explanatory)

func (sess *Session) Get(key string) any
    Get (self-explanatory)

func (sess *Session) RegenerateID(w http.ResponseWriter) (err error)
    RegenerateID (self-explanatory)

func (sess *Session) ResetTimer(w http.ResponseWriter, d time.Duration) (err error)
    ResetTimer (self-explanatory)

func (sess *Session) Set(key string, value any) (err error)
    Set (self-explanatory)

func (sess *Session) Start(w http.ResponseWriter) (err error)
    Start (see
    https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#cookie_prefixes)

func (sess *Session) Unset(key string) (err error)
    Unset (self-explanatory)

type Store_ struct {
	Active map[string]*encryptedSession

	// Has unexported fields.
}
    Store defines a storage container

var Store *Store_
    Store is a global session container

func (s *Store_) Deactivate(w http.ResponseWriter, id string) error
    Deactivate (*Store_) (self-explanatory)

func (s *Store_) Get(r *http.Request) (sess *Session, err error)
    Get gets session from Store

func (s *Store_) Put(sess *Session) (err error)
    Put puts session in Store

Tests


go test -v
=== RUN   TestNewAndStart
--- PASS: TestNewAndStart (0.00s)
PASS
ok  	micro/session	0.005s

Documentation

Overview

Package session

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidSessionID = errors.New("invalid session id")

ErrInvalidSessionID indicates session id is invalid

Functions

This section is empty.

Types

type Session

type Session struct {
	ID       string
	Data     map[string]any
	Duration time.Duration
	// contains filtered or unexported fields
}

Session defines a session

func New

func New(d time.Duration) *Session

New returns a new *Session

func (*Session) Destroy

func (sess *Session) Destroy()

Destroy (self-explanatory)

func (*Session) Get

func (sess *Session) Get(key string) any

Get (self-explanatory)

func (*Session) RegenerateID

func (sess *Session) RegenerateID(w http.ResponseWriter) (err error)

RegenerateID (self-explanatory)

func (*Session) ResetTimer

func (sess *Session) ResetTimer(w http.ResponseWriter, d time.Duration) (err error)

ResetTimer (self-explanatory)

func (*Session) Set

func (sess *Session) Set(key string, value any) (err error)

Set (self-explanatory)

func (*Session) Unset

func (sess *Session) Unset(key string) (err error)

Unset (self-explanatory)

type Store_

type Store_ struct {
	Active map[string]*encryptedSession
	// contains filtered or unexported fields
}

Store defines a storage container

var Store *Store_

Store is a global session container

func (*Store_) Deactivate

func (s *Store_) Deactivate(w http.ResponseWriter, id string) error

Deactivate (*Store_) (self-explanatory)

func (*Store_) Get

func (s *Store_) Get(r *http.Request) (sess *Session, err error)

Get gets session from Store

func (*Store_) Put

func (s *Store_) Put(sess *Session) (err error)

Put puts session in Store

Jump to

Keyboard shortcuts

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