Skip to content

go-session/beego-session

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Session middleware for Beego

Build Codecov ReportCard GoDoc License

Quick Start

Download and install

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

Create file server.go

package main

import (
	"fmt"

	"github.com/astaxie/beego"
	"github.com/astaxie/beego/context"
	"github.com/go-session/beego-session"
)

func main() {
	app := beego.NewApp()

	app.Handlers.InsertFilter("*", beego.BeforeRouter, beegosession.New())

	app.Handlers.Get("/", func(ctx *context.Context) {
		store := beegosession.FromContext(ctx)
		store.Set("foo", "bar")
		err := store.Save()
		if err != nil {
			ctx.Abort(500, err.Error())
			return
		}
		ctx.Redirect(302, "/foo")
	})

	app.Handlers.Get("/foo", func(ctx *context.Context) {
		store := beegosession.FromContext(ctx)
		foo, ok := store.Get("foo")
		if !ok {
			ctx.Abort(404, "not found")
			return
		}
		ctx.WriteString(fmt.Sprintf("foo:%s", foo))
	})

	beego.BConfig.Listen.HTTPPort = 8080
	app.Run()
}

Build and run

$ go build server.go
$ ./server

Open in your web browser

http://localhost:8080

foo:bar

MIT License

Copyright (c) 2018 Lyric