Middleware echo-session is a session support for echo.
This version is working with echo v3. Please checkout v2 branch if you want use session with echo v2.
go get github.com/ipfans/echo-session
package main
import (
"github.com/ipfans/echo-session""github.com/labstack/echo""github.com/labstack/echo/middleware"
)
funcmain() {
serv:=echo.New()
serv.Use(middleware.Logger())
serv.Use(middleware.Recover())
store, err:=session.NewRedisStore(32, "tcp", "localhost:6379", "", []byte("secret"))
iferr!=nil {
panic(err)
}
serv.Use(session.Sessions("GSESSION", store))
serv.GET("/", func(ctx echo.Context) error {
session:=session.Default(ctx)
varcountintv:=session.Get("count")
ifv==nil {
count=0
} else {
count=v.(int)
count+=1
}
session.Set("count", count)
session.Save()
ctx.JSON(200, map[string]interface{}{
"visit": count,
})
returnnil
})
serv.Start(":8081")
}This project is under Apache v2 License. See the LICENSE file for the full license text.