Session Middleware for restgo
This package only contains cookie session store, you need implement other store if you want it.
Session store must implements Store
interface.
go get github.com/restgo/session
- Cookie Store (included in this package)
- Mongo Store
sessionOpts := `{
"Secret" :"secret",
"Secure" :false,
"Path" :"/",
"HttpOnly" :true,
"CookieName" :"cookie-session",
"MaxAge" : 84600,
"EncyptCookie": false
}`
app.Use(session.NewSessionManager(session.NewCookieSessionStore(), sessionOpts))
app.GET("/about", func(ctx *restgo.Context, next restgo.Next) {
s := ctx.UserValue("session")
session, _ := s.(*session.Session)
if _, ok := session.Values["time"]; ok {
fmt.Println(session.Values["time"])
} else {
session.Values["time"] = time.Now().Format("2006-01-02 15:04:05")
}
ctx.ServeText(200, "About")
})