...

Text file src/github.com/gin-gonic/contrib/sessions/README.md

Documentation: github.com/gin-gonic/contrib/sessions

     1# sessions
     2
     3Gin middleware for session management with multi-backend support (currently cookie, Redis). 
     4
     5## EOL-warning
     6
     7**This package has been abandoned on 2016-12-07. Please use [gin-contrib/sessions](https://github.com/gin-contrib/sessions) instead.**
     8
     9## Examples
    10
    11#### cookie-based
    12
    13```go
    14package main
    15
    16import (
    17  "github.com/gin-gonic/contrib/sessions"
    18  "github.com/gin-gonic/gin"
    19)
    20
    21func main() {
    22  r := gin.Default()
    23  store := sessions.NewCookieStore([]byte("secret"))
    24  r.Use(sessions.Sessions("mysession", store))
    25
    26  r.GET("/incr", func(c *gin.Context) {
    27    session := sessions.Default(c)  
    28    var count int
    29    v := session.Get("count")
    30    if v == nil {
    31      count = 0
    32    } else {
    33      count = v.(int)
    34      count += 1
    35    }
    36    session.Set("count", count)
    37    session.Save()
    38    c.JSON(200, gin.H{"count": count})
    39  })
    40  r.Run(":8000")
    41}
    42```
    43
    44#### Redis
    45
    46```go
    47package main
    48
    49import (
    50  "github.com/gin-gonic/contrib/sessions"
    51  "github.com/gin-gonic/gin"
    52)
    53
    54func main() {
    55  r := gin.Default()
    56  store, _ := sessions.NewRedisStore(10, "tcp", "localhost:6379", "", []byte("secret"))
    57  r.Use(sessions.Sessions("session", store))
    58
    59  r.GET("/incr", func(c *gin.Context) {
    60    session := sessions.Default(c)
    61    var count int
    62    v := session.Get("count")
    63    if v == nil {
    64      count = 0
    65    } else {
    66      count = v.(int)
    67      count += 1
    68    }
    69    session.Set("count", count)
    70    session.Save()
    71    c.JSON(200, gin.H{"count": count})
    72  })
    73  r.Run(":8000")
    74}
    75```

View as plain text