Skip to content

Latest commit

 

History

History
61 lines (45 loc) · 2.09 KB

README.md

File metadata and controls

61 lines (45 loc) · 2.09 KB

mongostore

CodeQL Run Tests Go Report Card GoDoc codecov

Gorilla's Session store implementation with MongoDB

Requirements

Depends on the mgo library.

Installation

For the latest go version, run:

go get github.com/laziness-coders/mongostore

For the go version 1.20 and under, run:

go get github.com/laziness-coders/[email protected]

Documentation

Available on godoc.org.

Example

    func foo(rw http.ResponseWriter, req *http.Request) {
        // Fetch new store..
    	client, err := mongo.NewClient(options.Client().ApplyURI("mongodb://localhost:27017"))
    	if err != nil {
    		panic(err)
    	}
    	
    	if err := client.Connect(context.Background()); err != nil {
    		panic(err)
    	}
    	defer client.Disconnect(context.Background())

        // Get a session.
        store := NewMongoStore(
            client.Database("test").Collection("test_session"),
            3600,
            false,
            []byte("secret-key"),
        )

        // 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")
    }