func ensureCookie(r *http.Request, w http.ResponseWriter) string { cookie, _ := r.Cookie(COOKIE_NAME) if cookie != nil { return cookie.Value } sessionId := utils.GenerateId() cookie = &http.Cookie{ Name: COOKIE_NAME, Value: sessionId, Expires: time.Now().Add(5 * time.Minute), } http.SetCookie(w, cookie) return sessionId }
func SavePostHandler(s *session.Session, rnd render.Render, r *http.Request, db *mgo.Database) { if !s.IsAuthorized { rnd.Redirect("/") } id := r.FormValue("id") title := r.FormValue("title") contentMarkdown := r.FormValue("content") contentHtml := utils.ConvertMarkdownToHtml(contentMarkdown) postDocument := documents.PostDocument{id, title, contentHtml, contentMarkdown} postsCollection := db.C("posts") if id != "" { postsCollection.UpdateId(id, postDocument) } else { id = utils.GenerateId() postDocument.Id = id postsCollection.Insert(postDocument) } rnd.Redirect("/") }