aboutsummaryrefslogtreecommitdiff

Session middleware for Echo

Build Codecov ReportCard GoDoc License

Quick Start

Download and install

$ go get -u -v github.com/go-session/echo-session

Create file server.go

package main

import (
    "fmt"
    "net/http"

    "github.com/go-session/echo-session"
    "github.com/labstack/echo"
    "github.com/go-session/session"
)

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"))
}

Build and run

$ go build server.go
$ ./server

Open in your web browser

http://localhost:8080

foo:bar

MIT License

Copyright (c) 2018 Lyric