gitea/vendor/github.com/lafriks/xormstore
Lunny Xiao d151503d34 Upgrade xorm to v0.8.0 ()
..
util Store OAuth2 session data in database ()
.gitignore Use Go1.11 module ()
.travis.yml Update to xorm@v0.7.4 ()
LICENSE Store OAuth2 session data in database ()
README.md Use Go1.11 module ()
go.mod Upgrade xorm to v0.8.0 ()
go.sum Upgrade xorm to v0.8.0 ()
test Use Go1.11 module ()
xormstore.go Upgrade xorm to v0.8.0 ()

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.