Categorygithub.com/go-session/gear-session
modulepackage
3.0.0+incompatible
Repository: https://github.com/go-session/gear-session.git
Documentation: pkg.go.dev

# README

Session middleware for Gear

Build Codecov ReportCard GoDoc License

Quick Start

Download and install

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

Create file server.go

package main

import (
	"fmt"
	"net/http"

	"github.com/go-session/gear-session"
	"github.com/teambition/gear"
	"github.com/go-session/session"
)

func main() {
	app := gear.New()
	app.Use(gearsession.New())

	router := gear.NewRouter()

	router.Get("/", func(ctx *gear.Context) error {
		store := gearsession.FromContext(ctx)
		store.Set("foo", "bar")
		err := store.Save()
		if err != nil {
			return gear.ErrInternalServerError.From(err)
		}
		return ctx.Redirect("/foo")
	})

	router.Get("/foo", func(ctx *gear.Context) error {
		store := gearsession.FromContext(ctx)
		foo, ok := store.Get("foo")
		if !ok {
			return gear.ErrNotFound
		}
		return ctx.End(http.StatusOK, []byte(fmt.Sprintf("foo:%s", foo)))
	})
	app.UseHandler(router)

	app.Listen(":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

# Functions

Destroy a session.
FromContext get session storage from context.
New create a session middleware.
Refresh a session and return to session storage.