gitea/vendor/github.com/lafriks/xormstore
Lunny Xiao c9f819eae0 Upgrade xorm to v0.7.9 to fix some bugs ()
* upgrade xorm to v0.7.9 to fix some bugs

* upgrade xormstore to v1.3.1
..
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.7.9 to fix some bugs ()
go.sum Upgrade xorm to v0.7.9 to fix some bugs ()
test Use Go1.11 module ()
xormstore.go Update xormstore dependency to fix OAuth2 support for MySQL ()

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.