mirror of
https://github.com/go-gitea/gitea.git
synced 2024-08-18 18:43:26 +02:00
* 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
49 lines
1.3 KiB
Markdown
49 lines
1.3 KiB
Markdown
[![GoDoc](https://godoc.org/github.com/lafriks/xormstore?status.svg)](https://godoc.org/github.com/lafriks/xormstore)
|
|
[![Build Status](https://travis-ci.org/lafriks/xormstore.svg?branch=master)](https://travis-ci.org/lafriks/xormstore)
|
|
[![codecov](https://codecov.io/gh/lafriks/xormstore/branch/master/graph/badge.svg)](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.
|