Began work on auth_proxy feature (#1932), and began work on testing http api, and auth middleware

This commit is contained in:
Torkel Ödegaard
2015-05-01 11:55:59 +02:00
parent e7ac367392
commit d1e9b6d6ae
5 changed files with 91 additions and 5 deletions

View File

@@ -16,17 +16,43 @@ const (
)
var sessionManager *session.Manager
var sessionOptions session.Options
var sessionOptions *session.Options
func startSessionGC() {
sessionManager.GC()
time.AfterFunc(time.Duration(sessionOptions.Gclifetime)*time.Second, startSessionGC)
}
func Sessioner(options session.Options) macaron.Handler {
func prepareOptions(opt *session.Options) *session.Options {
if len(opt.Provider) == 0 {
opt.Provider = "memory"
}
if len(opt.ProviderConfig) == 0 {
opt.ProviderConfig = "data/sessions"
}
if len(opt.CookieName) == 0 {
opt.CookieName = "grafana_sess"
}
if len(opt.CookiePath) == 0 {
opt.CookiePath = "/"
}
if opt.Gclifetime == 0 {
opt.Gclifetime = 3600
}
if opt.Maxlifetime == 0 {
opt.Maxlifetime = opt.Gclifetime
}
if opt.IDLength == 0 {
opt.IDLength = 16
}
return opt
}
func Sessioner(options *session.Options) macaron.Handler {
var err error
sessionOptions = options
sessionManager, err = session.NewManager(options.Provider, options)
sessionOptions = prepareOptions(options)
sessionManager, err = session.NewManager(options.Provider, *options)
if err != nil {
panic(err)
}