middlewares

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2026 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const ScopeKey scopeKeyType = "scope"

Variables

View Source
var ErrMissingVirtualServerNameInContext = errors.New("no virtual server name in context")

Functions

func ClearSessionCookie

func ClearSessionCookie(w http.ResponseWriter, vsName string)

func ContextWithScope

func ContextWithScope(ctx context.Context, scope *ioc.DependencyProvider) context.Context

func ContextWithSession

func ContextWithSession(ctx context.Context, session CurrentSession) context.Context

func ContextWithVirtualServerName

func ContextWithVirtualServerName(ctx context.Context, name string) context.Context

func CreateSession

func CreateSession(w http.ResponseWriter, r *http.Request, vsName string, userId uuid.UUID) error

func DeleteSession

func DeleteSession(w http.ResponseWriter, r *http.Request, vsName string) error

func GetScope

func GetScope(ctx context.Context) *ioc.DependencyProvider

func GetSessionCookieName

func GetSessionCookieName(realmName string) string

func GetVirtualServerName

func GetVirtualServerName(ctx context.Context) (string, error)

func LoggingMiddleware

func LoggingMiddleware() mux.MiddlewareFunc

func RecoverMiddleware

func RecoverMiddleware() mux.MiddlewareFunc

func ScopeMiddleware

func ScopeMiddleware(dp *ioc.DependencyProvider) mux.MiddlewareFunc

func SessionMiddleware

func SessionMiddleware() mux.MiddlewareFunc

func VirtualServerMiddleware

func VirtualServerMiddleware() mux.MiddlewareFunc

Types

type CurrentSession

type CurrentSession struct {
	// contains filtered or unexported fields
}

func GetSession

func GetSession(ctx context.Context) (CurrentSession, bool)

func (*CurrentSession) CreatedAt

func (s *CurrentSession) CreatedAt() time.Time

func (*CurrentSession) SessionId

func (s *CurrentSession) SessionId() uuid.UUID

func (*CurrentSession) UserId

func (s *CurrentSession) UserId() uuid.UUID

type Session

type Session struct {
	// contains filtered or unexported fields
}

func NewSession

func NewSession(userId uuid.UUID, hashedSecret string, createdAt time.Time) *Session

func (*Session) HashedSecret

func (s *Session) HashedSecret() string

func (*Session) UserId

func (s *Session) UserId() uuid.UUID

type SessionService

type SessionService interface {
	GetSession(ctx context.Context, virtualServerName string, id uuid.UUID) (*Session, error)
	NewSession(ctx context.Context, virtualServerName string, userId uuid.UUID) (*utils.SplitToken, error)
	DeleteSession(ctx context.Context, virtualServerName string, id uuid.UUID) error
}

Jump to

Keyboard shortcuts

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