mongo

package module
v3.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2023 License: MIT Imports: 7 Imported by: 0

README

MongoDB store for Session

Build Codecov ReportCard GoDoc License

Quick Start

Download and install
go get -u -v github.com/go-session/mongo/v3
Create file server.go
package main

import (
	"context"
	"fmt"
	"net/http"

	"github.com/go-session/mongo/v3"
	"github.com/go-session/session/v3"
)

func main() {
	session.InitManager(
		session.SetStore(mongo.NewStore("mongodb://127.0.0.1:27017","test","session")),
	)

	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		store, err := session.Start(context.Background(), w, r)
		if err != nil {
			fmt.Fprint(w, err)
			return
		}

		store.Set("foo", "bar")
		err = store.Save()
		if err != nil {
			fmt.Fprint(w, err)
			return
		}

		http.Redirect(w, r, "/foo", 302)
	})

	http.HandleFunc("/foo", func(w http.ResponseWriter, r *http.Request) {
		store, err := session.Start(context.Background(), w, r)
		if err != nil {
			fmt.Fprint(w, err)
			return
		}

		foo, ok := store.Get("foo")
		if ok {
			fmt.Fprintf(w, "foo:%s", foo)
			return
		}
		fmt.Fprint(w, "does not exist")
	})

	http.ListenAndServe(":8080", nil)
}
Build and run
$ go build server.go
$ ./server
Open in your web browser

http://localhost:8080

foo:bar

MIT License

Copyright (c) 2018 Lyric

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewStore

func NewStore(url, dbName, cName string) session.ManagerStore

NewStore Create an instance of a mongo store

func NewStoreWithSession

func NewStoreWithSession(session *mgo.Session, dbName, cName string) session.ManagerStore

NewStoreWithSession Create an instance of a mongo store

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL