diff options
author | Unknwon <u@gogs.io> | 2018-12-04 19:36:05 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2018-12-04 19:36:05 -0500 |
commit | 458aadbb10a50948bbc237c5c2ab62d8710d2b4a (patch) | |
tree | 810f6f58172e43aec924250a45daafa2838f0b34 /vendor/github.com/go-macaron/session/session.go | |
parent | f2ec0d80a81902c20b3dc95908a1d5796148bda9 (diff) |
vendor: update github.com/go-macaron/session
Diffstat (limited to 'vendor/github.com/go-macaron/session/session.go')
-rw-r--r-- | vendor/github.com/go-macaron/session/session.go | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/vendor/github.com/go-macaron/session/session.go b/vendor/github.com/go-macaron/session/session.go index 6bd5bdb1..34355607 100644 --- a/vendor/github.com/go-macaron/session/session.go +++ b/vendor/github.com/go-macaron/session/session.go @@ -27,7 +27,7 @@ import ( "gopkg.in/macaron.v1" ) -const _VERSION = "0.5.0" +const _VERSION = "0.6.0" func Version() string { return _VERSION @@ -95,6 +95,8 @@ type Options struct { IDLength int // Configuration section name. Default is "session". Section string + // Ignore release for websocket. Default is false. + IgnoreReleaseForWebSocket bool } func prepareOptions(options []Options) Options { @@ -137,6 +139,9 @@ func prepareOptions(options []Options) Options { if opt.IDLength == 0 { opt.IDLength = sec.Key("ID_LENGTH").MustInt(16) } + if !opt.IgnoreReleaseForWebSocket { + opt.IgnoreReleaseForWebSocket = sec.Key("IGNORE_RELEASE_FOR_WEBSOCKET").MustBool() + } return opt } @@ -186,6 +191,10 @@ func Sessioner(options ...Options) macaron.Handler { ctx.Next() + if manager.opt.IgnoreReleaseForWebSocket && ctx.Req.Header.Get("Upgrade") == "websocket" { + return + } + if err = sess.Release(); err != nil { panic("session(release): " + err.Error()) } @@ -346,7 +355,7 @@ func (m *Manager) RegenerateId(ctx *macaron.Context) (sess RawStore, err error) if err != nil { return nil, err } - ck := &http.Cookie{ + cookie := &http.Cookie{ Name: m.opt.CookieName, Value: sid, Path: m.opt.CookiePath, @@ -355,10 +364,10 @@ func (m *Manager) RegenerateId(ctx *macaron.Context) (sess RawStore, err error) Domain: m.opt.Domain, } if m.opt.CookieLifeTime >= 0 { - ck.MaxAge = m.opt.CookieLifeTime + cookie.MaxAge = m.opt.CookieLifeTime } - http.SetCookie(ctx.Resp, ck) - ctx.Req.AddCookie(ck) + http.SetCookie(ctx.Resp, cookie) + ctx.Req.AddCookie(cookie) return sess, nil } |