From 2acb6e9385e7f4877142a72fe3e9c14dae96ac53 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Mon, 25 Jun 2018 20:21:52 +0300 Subject: [PATCH] session examples: add the 'AllowReclaim: true' session.Config field to true, help users like https://github.com/kataras/iris/issues/1031\#issuecomment-399894693 Former-commit-id: 2ab7e56a4fda380fb52a8912a328797ba332f2c8 --- _examples/sessions/README.md | 2 +- _examples/sessions/database/badger/main.go | 5 +++-- _examples/sessions/database/boltdb/main.go | 5 +++-- _examples/sessions/database/redis/main.go | 6 ++++-- _examples/sessions/flash-messages/main.go | 2 +- _examples/sessions/overview/main.go | 2 +- _examples/sessions/securecookie/main.go | 7 ++++--- _examples/sessions/standalone/main.go | 7 +++++++ 8 files changed, 24 insertions(+), 12 deletions(-) diff --git a/_examples/sessions/README.md b/_examples/sessions/README.md index f56767f5..0b25deb4 100644 --- a/_examples/sessions/README.md +++ b/_examples/sessions/README.md @@ -62,7 +62,7 @@ import ( var ( cookieNameForSessionID = "mycookiesessionnameid" - sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID}) + sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID, AllowReclaim: true}) ) func secret(ctx iris.Context) { diff --git a/_examples/sessions/database/badger/main.go b/_examples/sessions/database/badger/main.go index 26e634b2..400d2969 100644 --- a/_examples/sessions/database/badger/main.go +++ b/_examples/sessions/database/badger/main.go @@ -23,8 +23,9 @@ func main() { defer db.Close() // close and unlock the database if application errored. sess := sessions.New(sessions.Config{ - Cookie: "sessionscookieid", - Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0. + Cookie: "sessionscookieid", + Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0. + AllowReclaim: true, }) // diff --git a/_examples/sessions/database/boltdb/main.go b/_examples/sessions/database/boltdb/main.go index 87f241bd..9e7d6d41 100644 --- a/_examples/sessions/database/boltdb/main.go +++ b/_examples/sessions/database/boltdb/main.go @@ -24,8 +24,9 @@ func main() { defer db.Close() // close and unlock the database if application errored. sess := sessions.New(sessions.Config{ - Cookie: "sessionscookieid", - Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0. + Cookie: "sessionscookieid", + Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0. + AllowReclaim: true, }) // diff --git a/_examples/sessions/database/redis/main.go b/_examples/sessions/database/redis/main.go index 5feeb90d..88257c8d 100644 --- a/_examples/sessions/database/redis/main.go +++ b/_examples/sessions/database/redis/main.go @@ -32,8 +32,10 @@ func main() { defer db.Close() // close the database connection if application errored. sess := sessions.New(sessions.Config{ - Cookie: "sessionscookieid", - Expires: 45 * time.Minute}, // <=0 means unlimited life. Defaults to 0. + Cookie: "sessionscookieid", + Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0. + AllowReclaim: true, + }, ) // diff --git a/_examples/sessions/flash-messages/main.go b/_examples/sessions/flash-messages/main.go index 662d289d..55be2594 100644 --- a/_examples/sessions/flash-messages/main.go +++ b/_examples/sessions/flash-messages/main.go @@ -8,7 +8,7 @@ import ( func main() { app := iris.New() - sess := sessions.New(sessions.Config{Cookie: "myappsessionid"}) + sess := sessions.New(sessions.Config{Cookie: "myappsessionid", AllowReclaim: true}) app.Get("/set", func(ctx iris.Context) { s := sess.Start(ctx) diff --git a/_examples/sessions/overview/main.go b/_examples/sessions/overview/main.go index 991c1d45..b4ee0121 100644 --- a/_examples/sessions/overview/main.go +++ b/_examples/sessions/overview/main.go @@ -8,7 +8,7 @@ import ( var ( cookieNameForSessionID = "mycookiesessionnameid" - sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID}) + sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID, AllowReclaim: true}) ) func secret(ctx iris.Context) { diff --git a/_examples/sessions/securecookie/main.go b/_examples/sessions/securecookie/main.go index 08ad111f..f4e1730d 100644 --- a/_examples/sessions/securecookie/main.go +++ b/_examples/sessions/securecookie/main.go @@ -24,9 +24,10 @@ func newApp() *iris.Application { secureCookie := securecookie.New(hashKey, blockKey) mySessions := sessions.New(sessions.Config{ - Cookie: cookieName, - Encode: secureCookie.Encode, - Decode: secureCookie.Decode, + Cookie: cookieName, + Encode: secureCookie.Encode, + Decode: secureCookie.Decode, + AllowReclaim: true, }) app.Get("/", func(ctx iris.Context) { diff --git a/_examples/sessions/standalone/main.go b/_examples/sessions/standalone/main.go index 9126d2f6..343ac5e6 100644 --- a/_examples/sessions/standalone/main.go +++ b/_examples/sessions/standalone/main.go @@ -27,6 +27,13 @@ func main() { // of the same host, then enable it. // Defaults to false. DisableSubdomainPersistence: true, + // AllowReclaim will allow to + // Destroy and Start a session in the same request handler. + // All it does is that it removes the cookie for both `Request` and `ResponseWriter` while `Destroy` + // or add a new cookie to `Request` while `Start`. + // + // Defaults to false. + AllowReclaim: true, }) app.Get("/", func(ctx iris.Context) {