Skip to content

Package echo-session is a middleware that provides session support for echo.

License

Notifications You must be signed in to change notification settings

ig0rsky/echo-session

 
 

Repository files navigation

echo-session

NOTIFICATION

This package was forked and fixed to run with Echo v3.0.3

Middleware echo-session is a session support for echo.

Installation

go get github.com/niggywizzywoz/echo-session

Example

package main

import (
	"github.com/niggywizzywoz/echo-session"
	"github.com/labstack/echo"
	"github.com/labstack/echo/middleware"
)

func main() {
	serv := echo.New()
	serv.Use(middleware.Logger())
	serv.Use(middleware.Recover())
	// store := session.NewCookieStore([]byte("secret"))
	store, err := session.NewRedisStore(32, "tcp", "localhost:6379", "", []byte("secret"))
	if err != nil {
		panic(err)
	}
	// Use Echo-session middleware
	serv.Use(session.Sessions("GSESSION", store))
	serv.GET("/", testHandler)
	if err := serv.Start(":8000"); err != nil {
		panic(err)
	}
}

func testHandler (c echo.Context) error {
		session := session.Default(c)
		var count int
		v := session.Get("count")
		if v == nil {
			count = 0
		} else {
			count = v.(int)
			count += 1
		}
		session.Set("count", count)
		session.Save()
		return c.JSON(200, map[string]interface{}{
			"visit": count,
		})
		return nil
	})
}

License

This project is under Apache v2 License. See the LICENSE file for the full license text.

About

Package echo-session is a middleware that provides session support for echo.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%