/mongostore

Gorilla's Session store implementation with MongoDB

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

mongostore

Gorilla's Session store implementation with MongoDB

Requirements

Depends on the mgo library.

Installation

go get github.com/kidstuff/mongostore

Documentation

Available on godoc.org.

Example

func foo(rw http.ResponseWriter, req *http.Request) {
    // Fetch new store.
    dbsess, err := mgo.Dial("localhost")
    if err != nil {
        panic(err)
    }
    defer dbsess.Close()

    store := mongostore.NewMongoStore(dbsess.DB("test").C("test_session"), 3600, true,
        []byte("secret-key"))

    // Get a session.
    session, err := store.Get(req, "session-key")
    if err != nil {
        log.Println(err.Error())
    }

    // Add a value.
    session.Values["foo"] = "bar"

    // Save.
    if err = sessions.Save(req, rw); err != nil {
        log.Printf("Error saving session: %v", err)
    }

    fmt.Fprintln(rw, "ok")
}