1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-12-28 13:49:13 -05:00
forgejo/vendor/github.com/lafriks/xormstore
Mura Li d77176912b Use Go1.11 module (#5743)
* Migrate to go modules

* make vendor

* Update mvdan.cc/xurls

* make vendor

* Update code.gitea.io/git

* make fmt-check

* Update github.com/go-sql-driver/mysql

* make vendor
2019-03-27 19:15:23 +08:00
..
util Store OAuth2 session data in database (#3660) 2018-04-29 09:09:24 +03:00
.gitignore Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
.travis.yml Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
Gopkg.lock Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
Gopkg.toml Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
LICENSE Store OAuth2 session data in database (#3660) 2018-04-29 09:09:24 +03:00
README.md Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
test Use Go1.11 module (#5743) 2019-03-27 19:15:23 +08:00
xormstore.go Update xormstore dependency to fix OAuth2 support for MySQL (#3955) 2018-05-13 13:10:50 +08:00

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.