title: How to set session variable in golang gorilla framework?
body: <p>My following code </p>
  
  <pre><code>package inqzincrm
  
  import (
      "github.com/gorilla/pat"
      "github.com/gorilla/sessions"
      "net/http"
  )
  
  var store = sessions.NewCookieStore([]byte("X12h8v6BZC4QJl53KfNLshtr85gkC5OZ"), []byte("X12h8vasdf6BZC4QJl53KfNLshtr85gk"))
  
  func init() {
  
      r := pat.New()
      r.Get("/", Home)
  
      http.Handle("/", r)
  }
  </code></pre>
  
  <p>and in handler,</p>
  
  <pre><code>package inqzincrm
  
  import (
      "appengine"
      "html/template"
      "net/http"
  )
  
  var aTmplt = template.Must(template.ParseFiles(
      "inqzincrm/templates/base.html",
      "inqzincrm/templates/index.html",
  ))
  
  func Home(w http.ResponseWriter, r *http.Request) {
      c := appengine.NewContext(r)
  
      session, err := store.Get(r, "x")
  
      c.Infof("HOST: %s", r.Host)
  
      if session.IsNew {
          session.Options.Domain = r.Host
          session.Options.Path = "/"
          session.Options.MaxAge = 0
          session.Options.HttpOnly = false
          session.Options.Secure = false
      }
  
      if err != nil {
          c.Infof("Error getting session: %v", err)
      }
      c.Infof("Requested URL: %v", session.Values["foo"])
      session.Values["foo"] = "asdf"
      if err := aTmplt.ExecuteTemplate(w, "index.html", nil); err != nil {
          http.Error(w, err.Error(), http.StatusInternalServerError)
      }
      session.Save(r, w)
  }
  </code></pre>
  
  <p>do not set any cookie on browser side. how ever result and err are nil indicating no problem with the functions. </p>
  
  <p>How I should debug further ?</p>
  
  <p>I am using Ubuntu 64 bit, Google App Engine, Go with Gorilla tool kit.</p>