Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

17 Commits

Repository files navigation

session

A simple HTTP session manager. Got bored and needed to have a session manager that manages idle timeouts as well as longer max timeouts.

Example:

typeSessionEntrystruct {
ArbitraryContentstring
}
sessionManager=NewStore[SessionEntry]("session", time.Duration(IdleTimeDuration)*time.Second)
authorisedRoutes:=http.NewServeMux()
authorisedRoutes.HandleFunc("/status", status)
authorisedRoutes.HandleFunc("/dashboard/", dashboard)
log.Fatal(http.ListenAndServe(addr, sessionManager.AuthorisationChecks(authorisedRoutes, nil)))
_, data:=sessionManager.GetSessionFromRequest(r)
ifdata==nil {
http.Error(w, "No", http.StatusUnauthorized)
return
}
sessionKey:=sessionManager.StartSession(w, r, currentSession, func(sessionSessionEntry) {
// Do something on session expiry	
})
// Do stuffsessionManager.DeleteSession(w,r)

About

A simple HTTP session manager

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages