Session middleware for Echo
![License](https://camo.githubusercontent.com/1258d2285d00884260b631cd83215469465e212cc6fb3aa0c37319f437a0eb3e/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f6c2f657870726573732e737667)
$ go get -u -v github.com/go-session/echo-session
package main
import (
"fmt"
"net/http"
"github.com/go-session/echo-session"
"github.com/labstack/echo"
)
func main() {
e := echo.New()
e.Use(echosession.New())
e.GET("/", func(ctx echo.Context) error {
store := echosession.FromContext(ctx)
store.Set("foo", "bar")
err := store.Save()
if err != nil {
return err
}
return ctx.Redirect(302, "/foo")
})
e.GET("/foo", func(ctx echo.Context) error {
store := echosession.FromContext(ctx)
foo, ok := store.Get("foo")
if !ok {
return ctx.String(http.StatusNotFound, "not found")
}
return ctx.String(http.StatusOK, fmt.Sprintf("foo:%s", foo))
})
e.Logger.Fatal(e.Start(":8080"))
}
$ go build server.go
$ ./server
http://localhost:8080