mirror of
1
Fork 0
forgejo/vendor/github.com/lafriks/xormstore
6543 fe628d8406
Vendor Update (#14696)
* github.com/yuin/goldmark v1.3.1 -> v1.3.2

* github.com/xanzy/go-gitlab v0.42.0 -> v0.44.0

* github.com/prometheus/client_golang v1.8.0 -> v1.9.0

* github.com/minio/minio-go v7.0.7 -> v7.0.9

* github.com/lafriks/xormstore v1.3.2 -> v1.4.0

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-02-16 22:47:24 -05:00
..
util
.gitignore
.travis.yml
LICENSE
README.md
go.mod Vendor Update (#14696) 2021-02-16 22:47:24 -05:00
go.sum Vendor Update (#14696) 2021-02-16 22:47:24 -05:00
test
xormstore.go

README.md

GoDoc Build Status codecov

XORM backend for gorilla sessions

go get github.com/lafriks/xormstore

Example

// initialize and setup cleanup
store := xormstore.New(engine, []byte("secret"))
// db cleanup every hour
// close quit channel to stop cleanup
quit := make(chan struct{})
go store.PeriodicCleanup(1*time.Hour, quit)
// in HTTP handler
func handlerFunc(w http.ResponseWriter, r *http.Request) {
  session, err := store.Get(r, "session")
  session.Values["user_id"] = 123
  store.Save(r, w, session)
  http.Error(w, "", http.StatusOK)
}

For more details see xormstore godoc documentation.

Testing

Just sqlite3 tests:

go test

All databases using docker:

./test

If docker is not local (docker-machine etc):

DOCKER_IP=$(docker-machine ip dev) ./test

License

xormstore is licensed under the MIT license. See LICENSE for the full license text.