2015-01-29 19:10:34 +08:00
|
|
|
package middleware
|
|
|
|
|
|
2015-04-08 01:21:14 +08:00
|
|
|
import (
|
2018-03-07 06:59:45 +08:00
|
|
|
ms "github.com/go-macaron/session"
|
2016-01-13 22:38:54 +08:00
|
|
|
"gopkg.in/macaron.v1"
|
2015-04-08 01:21:14 +08:00
|
|
|
|
2018-03-07 06:59:45 +08:00
|
|
|
m "github.com/grafana/grafana/pkg/models"
|
|
|
|
|
"github.com/grafana/grafana/pkg/services/session"
|
2015-01-29 19:10:34 +08:00
|
|
|
)
|
2015-04-08 01:21:14 +08:00
|
|
|
|
2018-03-16 04:23:33 +08:00
|
|
|
func Sessioner(options *ms.Options, sessionConnMaxLifetime int64) macaron.Handler {
|
|
|
|
|
session.Init(options, sessionConnMaxLifetime)
|
2015-04-08 01:21:14 +08:00
|
|
|
|
2018-03-08 00:54:50 +08:00
|
|
|
return func(ctx *m.ReqContext) {
|
2015-04-08 01:21:14 +08:00
|
|
|
ctx.Next()
|
|
|
|
|
|
2018-03-07 06:59:45 +08:00
|
|
|
if err := ctx.Session.Release(); err != nil {
|
2015-04-08 01:21:14 +08:00
|
|
|
panic("session(release): " + err.Error())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|