mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
Update dependencies (#333)
This commit is contained in:
44
vendor/github.com/gin-contrib/sessions/.travis.yml
generated
vendored
44
vendor/github.com/gin-contrib/sessions/.travis.yml
generated
vendored
@ -1,44 +0,0 @@
|
||||
language: go
|
||||
sudo: false
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
include:
|
||||
- go: 1.10.x
|
||||
- go: 1.11.x
|
||||
env: GO111MODULE=on
|
||||
- go: 1.12.x
|
||||
env: GO111MODULE=on
|
||||
- go: 1.13.x
|
||||
- go: master
|
||||
env: GO111MODULE=on
|
||||
|
||||
git:
|
||||
depth: 10
|
||||
|
||||
services:
|
||||
- redis
|
||||
- memcached
|
||||
- mongodb
|
||||
|
||||
before_install:
|
||||
- go get github.com/campoy/embedmd
|
||||
|
||||
install:
|
||||
- if [[ "${GO111MODULE}" = "on" ]]; then go mod download; else go get -t -v .; fi
|
||||
- if [[ "${GO111MODULE}" = "on" ]]; then export PATH="${GOPATH}/bin:${GOROOT}/bin:${PATH}"; fi
|
||||
|
||||
script:
|
||||
- embedmd -d *.md
|
||||
- go test -v -covermode=atomic -coverprofile=coverage.out ./...
|
||||
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
notifications:
|
||||
webhooks:
|
||||
urls:
|
||||
- https://webhooks.gitter.im/e/acc2c57482e94b44f557
|
||||
on_success: change
|
||||
on_failure: always
|
||||
on_start: false
|
370
vendor/github.com/gin-contrib/sessions/README.md
generated
vendored
370
vendor/github.com/gin-contrib/sessions/README.md
generated
vendored
@ -1,6 +1,7 @@
|
||||
# sessions
|
||||
|
||||
[](https://travis-ci.org/gin-contrib/sessions)
|
||||
[](https://github.com/gin-contrib/sessions/actions/workflows/lint.yml)
|
||||
[](https://github.com/gin-contrib/sessions/actions/workflows/testing.yml)
|
||||
[](https://codecov.io/gh/gin-contrib/sessions)
|
||||
[](https://goreportcard.com/report/github.com/gin-contrib/sessions)
|
||||
[](https://godoc.org/github.com/gin-contrib/sessions)
|
||||
@ -13,6 +14,7 @@ Gin middleware for session management with multi-backend support:
|
||||
- [memcached](#memcached)
|
||||
- [MongoDB](#mongodb)
|
||||
- [memstore](#memstore)
|
||||
- [PostgreSQL](#postgresql)
|
||||
|
||||
## Usage
|
||||
|
||||
@ -21,7 +23,7 @@ Gin middleware for session management with multi-backend support:
|
||||
Download and install it:
|
||||
|
||||
```bash
|
||||
$ go get github.com/gin-contrib/sessions
|
||||
go get github.com/gin-contrib/sessions
|
||||
```
|
||||
|
||||
Import it in your code:
|
||||
@ -38,27 +40,27 @@ import "github.com/gin-contrib/sessions"
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
store := cookie.NewStore([]byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
r := gin.Default()
|
||||
store := cookie.NewStore([]byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/hello", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
r.GET("/hello", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
|
||||
if session.Get("hello") != "world" {
|
||||
session.Set("hello", "world")
|
||||
session.Save()
|
||||
}
|
||||
if session.Get("hello") != "world" {
|
||||
session.Set("hello", "world")
|
||||
session.Save()
|
||||
}
|
||||
|
||||
c.JSON(200, gin.H{"hello": session.Get("hello")})
|
||||
})
|
||||
r.Run(":8000")
|
||||
c.JSON(200, gin.H{"hello": session.Get("hello")})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
@ -68,109 +70,107 @@ func main() {
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
store := cookie.NewStore([]byte("secret"))
|
||||
sessionNames := []string{"a", "b"}
|
||||
r.Use(sessions.SessionsMany(sessionNames, store))
|
||||
r := gin.Default()
|
||||
store := cookie.NewStore([]byte("secret"))
|
||||
sessionNames := []string{"a", "b"}
|
||||
r.Use(sessions.SessionsMany(sessionNames, store))
|
||||
|
||||
r.GET("/hello", func(c *gin.Context) {
|
||||
sessionA := sessions.DefaultMany(c, "a")
|
||||
sessionB := sessions.DefaultMany(c, "b")
|
||||
r.GET("/hello", func(c *gin.Context) {
|
||||
sessionA := sessions.DefaultMany(c, "a")
|
||||
sessionB := sessions.DefaultMany(c, "b")
|
||||
|
||||
if sessionA.Get("hello") != "world!" {
|
||||
sessionA.Set("hello", "world!")
|
||||
sessionA.Save()
|
||||
}
|
||||
if sessionA.Get("hello") != "world!" {
|
||||
sessionA.Set("hello", "world!")
|
||||
sessionA.Save()
|
||||
}
|
||||
|
||||
if sessionB.Get("hello") != "world?" {
|
||||
sessionB.Set("hello", "world?")
|
||||
sessionB.Save()
|
||||
}
|
||||
if sessionB.Get("hello") != "world?" {
|
||||
sessionB.Set("hello", "world?")
|
||||
sessionB.Save()
|
||||
}
|
||||
|
||||
c.JSON(200, gin.H{
|
||||
"a": sessionA.Get("hello"),
|
||||
"b": sessionB.Get("hello"),
|
||||
})
|
||||
})
|
||||
r.Run(":8000")
|
||||
c.JSON(200, gin.H{
|
||||
"a": sessionA.Get("hello"),
|
||||
"b": sessionB.Get("hello"),
|
||||
})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
## Backend examples
|
||||
## Backend Examples
|
||||
|
||||
### cookie-based
|
||||
|
||||
[embedmd]:# (example/cookie/main.go go)
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/cookie"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
store := cookie.NewStore([]byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
r := gin.Default()
|
||||
store := cookie.NewStore([]byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
### Redis
|
||||
|
||||
[embedmd]:# (example/redis/main.go go)
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/redis"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/redis"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
store, _ := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
r := gin.Default()
|
||||
store, _ := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
@ -178,134 +178,174 @@ func main() {
|
||||
|
||||
#### ASCII Protocol
|
||||
|
||||
[embedmd]:# (example/memcached/ascii.go go)
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/bradfitz/gomemcache/memcache"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/memcached"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/bradfitz/gomemcache/memcache"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/memcached"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
store := memcached.NewStore(memcache.New("localhost:11211"), "", []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
r := gin.Default()
|
||||
store := memcached.NewStore(memcache.New("localhost:11211"), "", []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
#### Binary protocol (with optional SASL authentication)
|
||||
|
||||
[embedmd]:# (example/memcached/binary.go go)
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/memcached"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/memcachier/mc"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/memcached"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/memcachier/mc"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
client := mc.NewMC("localhost:11211", "username", "password")
|
||||
store := memcached.NewMemcacheStore(client, "", []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
r := gin.Default()
|
||||
client := mc.NewMC("localhost:11211", "username", "password")
|
||||
store := memcached.NewMemcacheStore(client, "", []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
### MongoDB
|
||||
|
||||
[embedmd]:# (example/mongo/main.go go)
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/mongo"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/globalsign/mgo"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/mongo"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/globalsign/mgo"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
session, err := mgo.Dial("localhost:27017/test")
|
||||
if err != nil {
|
||||
// handle err
|
||||
}
|
||||
r := gin.Default()
|
||||
session, err := mgo.Dial("localhost:27017/test")
|
||||
if err != nil {
|
||||
// handle err
|
||||
}
|
||||
|
||||
c := session.DB("").C("sessions")
|
||||
store := mongo.NewStore(c, 3600, true, []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
c := session.DB("").C("sessions")
|
||||
store := mongo.NewStore(c, 3600, true, []byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
### memstore
|
||||
|
||||
[embedmd]:# (example/memstore/main.go go)
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/memstore"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
store := memstore.NewStore([]byte("secret"))
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
var count int
|
||||
v := session.Get("count")
|
||||
if v == nil {
|
||||
count = 0
|
||||
} else {
|
||||
count = v.(int)
|
||||
count++
|
||||
}
|
||||
session.Set("count", count)
|
||||
session.Save()
|
||||
c.JSON(200, gin.H{"count": count})
|
||||
})
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
### PostgreSQL
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-contrib/sessions/memstore"
|
||||
"github.com/gin-contrib/sessions/postgres"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func main() {
|
||||
r := gin.Default()
|
||||
store := memstore.NewStore([]byte("secret"))
|
||||
db, err := sql.Open("postgres", "postgresql://username:password@localhost:5432/database")
|
||||
if err != nil {
|
||||
// handle err
|
||||
}
|
||||
|
||||
store, err := postgres.NewStore(db, []byte("secret"))
|
||||
if err != nil {
|
||||
// handle err
|
||||
}
|
||||
|
||||
r.Use(sessions.Sessions("mysession", store))
|
||||
|
||||
r.GET("/incr", func(c *gin.Context) {
|
||||
@ -325,5 +365,3 @@ func main() {
|
||||
r.Run(":8000")
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
6
vendor/github.com/gin-contrib/sessions/sessions.go
generated
vendored
6
vendor/github.com/gin-contrib/sessions/sessions.go
generated
vendored
@ -22,6 +22,8 @@ type Store interface {
|
||||
// Wraps thinly gorilla-session methods.
|
||||
// Session stores the values and optional configuration for a session.
|
||||
type Session interface {
|
||||
// ID of the session, generated by stores. It should not be used for user data.
|
||||
ID() string
|
||||
// Get returns the session value associated to the given key.
|
||||
Get(key interface{}) interface{}
|
||||
// Set sets the session value associated to the given key.
|
||||
@ -74,6 +76,10 @@ type session struct {
|
||||
writer http.ResponseWriter
|
||||
}
|
||||
|
||||
func (s *session) ID() string {
|
||||
return s.Session().ID
|
||||
}
|
||||
|
||||
func (s *session) Get(key interface{}) interface{} {
|
||||
return s.Session().Values[key]
|
||||
}
|
||||
|
Reference in New Issue
Block a user