https://github.com/lafriks/xormstore
XORM backend for gorilla sessions
https://github.com/lafriks/xormstore
go golang golang-library gorilla session-store sessionstorage xorm
Last synced: 6 months ago
JSON representation
XORM backend for gorilla sessions
- Host: GitHub
- URL: https://github.com/lafriks/xormstore
- Owner: lafriks
- License: mit
- Created: 2018-03-10T09:18:21.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-01-07T10:11:28.000Z (9 months ago)
- Last Synced: 2025-03-25T17:49:20.685Z (7 months ago)
- Topics: go, golang, golang-library, gorilla, session-store, sessionstorage, xorm
- Language: Go
- Size: 4.99 MB
- Stars: 9
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://godoc.org/github.com/lafriks/xormstore)
[](https://travis-ci.org/lafriks/xormstore)
[](https://codecov.io/gh/lafriks/xormstore)#### XORM backend for gorilla sessions
go get github.com/lafriks/xormstore
#### Example
```go
// 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)
``````go
// 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](https://godoc.org/github.com/lafriks/xormstore).
#### 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](LICENSE) for the full license text.