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