...
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