Gorilla's Session Store Implementation for MySQL
Run go get github.com/srinathgs/mysqlstore from command line. Gets installed in $GOPATH
NewMysqlStore takes the following paramaters
endpoint - A sql.Open style endpoint tableName - table where sessions are to be saved. Required fields are created automatically if the table doesnot exist. path - path for Set-Cookie header maxAge codecs Internally, mysqlstore uses this MySQL driver.
e.g.,
package main import ( "fmt" "github.com/srinathgs/mysqlstore" "net/http" ) var store *mysqlstore.MySQLStore func sessTest(w http.ResponseWriter, r *http.Request) { session, err := store.Get(r, "foobar") session.Values["bar"] = "baz" session.Values["baz"] = "foo" err = session.Save(r, w) fmt.Printf("%#v\n", session) fmt.Println(err) } func main() { var err error store, err = mysqlstore.NewMySQLStore("UN:PASS@tcp(<IP>:<PORT>)/<DB>?parseTime=true&loc=Local", <tablename>, "/", 3600, []byte("<SecretKey>")) if err != nil { panic(err) } defer store.Close() http.HandleFunc("/", sessTest) http.ListenAndServe(":8080", nil) }