Awesome Open Source
Awesome Open Source

GORM backend for gorilla sessions

For gorm v2 use:

import "github.com/wader/gormstore/v2"

For gorm v1 use:

import "github.com/wader/gormstore"

Documentation

https://pkg.go.dev/github.com/wader/gormstore?tab=doc

Example

// initialize and setup cleanup
store := gormstore.New(gorm.Open(...), []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 gormstore 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

gormstore is licensed under the MIT license. See LICENSE for the full license text.



Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Golang (171,827
Docker (99,630
Testing (93,350
Database (92,919
Session (14,058
Sqlite (10,380
Gorm (1,079
Gorilla (619