aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/go-macaron/session/session.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2018-12-04 19:36:05 -0500
committerUnknwon <u@gogs.io>2018-12-04 19:36:05 -0500
commit458aadbb10a50948bbc237c5c2ab62d8710d2b4a (patch)
tree810f6f58172e43aec924250a45daafa2838f0b34 /vendor/github.com/go-macaron/session/session.go
parentf2ec0d80a81902c20b3dc95908a1d5796148bda9 (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.go19
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
}