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
This commit is contained in:
Gerasimos (Makis) Maropoulos 2018-06-25 20:21:52 +03:00
parent d216b91074
commit 2acb6e9385
8 changed files with 24 additions and 12 deletions

View File

@ -62,7 +62,7 @@ import (
var ( var (
cookieNameForSessionID = "mycookiesessionnameid" cookieNameForSessionID = "mycookiesessionnameid"
sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID}) sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID, AllowReclaim: true})
) )
func secret(ctx iris.Context) { func secret(ctx iris.Context) {

View File

@ -25,6 +25,7 @@ func main() {
sess := sessions.New(sessions.Config{ sess := sessions.New(sessions.Config{
Cookie: "sessionscookieid", Cookie: "sessionscookieid",
Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0. Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0.
AllowReclaim: true,
}) })
// //

View File

@ -26,6 +26,7 @@ func main() {
sess := sessions.New(sessions.Config{ sess := sessions.New(sessions.Config{
Cookie: "sessionscookieid", Cookie: "sessionscookieid",
Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0. Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0.
AllowReclaim: true,
}) })
// //

View File

@ -33,7 +33,9 @@ func main() {
sess := sessions.New(sessions.Config{ sess := sessions.New(sessions.Config{
Cookie: "sessionscookieid", Cookie: "sessionscookieid",
Expires: 45 * time.Minute}, // <=0 means unlimited life. Defaults to 0. Expires: 45 * time.Minute, // <=0 means unlimited life. Defaults to 0.
AllowReclaim: true,
},
) )
// //

View File

@ -8,7 +8,7 @@ import (
func main() { func main() {
app := iris.New() 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) { app.Get("/set", func(ctx iris.Context) {
s := sess.Start(ctx) s := sess.Start(ctx)

View File

@ -8,7 +8,7 @@ import (
var ( var (
cookieNameForSessionID = "mycookiesessionnameid" cookieNameForSessionID = "mycookiesessionnameid"
sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID}) sess = sessions.New(sessions.Config{Cookie: cookieNameForSessionID, AllowReclaim: true})
) )
func secret(ctx iris.Context) { func secret(ctx iris.Context) {

View File

@ -27,6 +27,7 @@ func newApp() *iris.Application {
Cookie: cookieName, Cookie: cookieName,
Encode: secureCookie.Encode, Encode: secureCookie.Encode,
Decode: secureCookie.Decode, Decode: secureCookie.Decode,
AllowReclaim: true,
}) })
app.Get("/", func(ctx iris.Context) { app.Get("/", func(ctx iris.Context) {

View File

@ -27,6 +27,13 @@ func main() {
// of the same host, then enable it. // of the same host, then enable it.
// Defaults to false. // Defaults to false.
DisableSubdomainPersistence: true, 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) { app.Get("/", func(ctx iris.Context) {