parent
461406070c
commit
ce43d38b4f
6 changed files with 30 additions and 12 deletions
|
@ -176,6 +176,10 @@ func storageHandler(storageSetting setting.Storage, prefix string, objStore stor
|
|||
}
|
||||
}
|
||||
|
||||
var (
|
||||
sessionManager *session.Manager
|
||||
)
|
||||
|
||||
// NewChi creates a chi Router
|
||||
func NewChi() chi.Router {
|
||||
c := chi.NewRouter()
|
||||
|
@ -185,7 +189,8 @@ func NewChi() chi.Router {
|
|||
c.Use(LoggerHandler(setting.RouterLogLevel))
|
||||
}
|
||||
}
|
||||
c.Use(session.Sessioner(session.Options{
|
||||
|
||||
var opt = session.Options{
|
||||
Provider: setting.SessionConfig.Provider,
|
||||
ProviderConfig: setting.SessionConfig.ProviderConfig,
|
||||
CookieName: setting.SessionConfig.CookieName,
|
||||
|
@ -194,7 +199,14 @@ func NewChi() chi.Router {
|
|||
Maxlifetime: setting.SessionConfig.Maxlifetime,
|
||||
Secure: setting.SessionConfig.Secure,
|
||||
Domain: setting.SessionConfig.Domain,
|
||||
}))
|
||||
}
|
||||
opt = session.PrepareOptions([]session.Options{opt})
|
||||
|
||||
var err error
|
||||
sessionManager, err = session.NewManager(opt.Provider, opt)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
c.Use(Recovery())
|
||||
if setting.EnableAccessLog {
|
||||
|
|
|
@ -14,7 +14,6 @@ import (
|
|||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/templates"
|
||||
|
||||
"gitea.com/go-chi/session"
|
||||
"github.com/unrolled/render"
|
||||
)
|
||||
|
||||
|
@ -64,7 +63,13 @@ func Recovery() func(next http.Handler) http.Handler {
|
|||
log.Error("%v", combinedErr)
|
||||
|
||||
lc := middlewares.Locale(w, req)
|
||||
sess := session.GetSession(req)
|
||||
|
||||
// TODO: this should be replaced by real session after macaron removed totally
|
||||
sessionStore, err := sessionManager.Start(w, req)
|
||||
if err != nil {
|
||||
// Just invoke the above recover catch
|
||||
panic("session(start): " + err.Error())
|
||||
}
|
||||
|
||||
var store = dataStore{
|
||||
Data: templates.Vars{
|
||||
|
@ -75,7 +80,7 @@ func Recovery() func(next http.Handler) http.Handler {
|
|||
}
|
||||
|
||||
// Get user from session if logged in.
|
||||
user, _ := sso.SignedInUser(req, w, &store, sess)
|
||||
user, _ := sso.SignedInUser(req, w, &store, sessionStore)
|
||||
if user != nil {
|
||||
store.Data["IsSigned"] = true
|
||||
store.Data["SignedUser"] = user
|
||||
|
@ -92,7 +97,7 @@ func Recovery() func(next http.Handler) http.Handler {
|
|||
if setting.RunMode != "prod" {
|
||||
store.Data["ErrMsg"] = combinedErr
|
||||
}
|
||||
err := rnd.HTML(w, 500, "status/500", templates.BaseVars().Merge(store.Data))
|
||||
err = rnd.HTML(w, 500, "status/500", templates.BaseVars().Merge(store.Data))
|
||||
if err != nil {
|
||||
log.Error("%v", err)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue