| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | 
							- package httpd
 
- import (
 
- 	"encoding/base64"
 
- 	"net/http"
 
- 	"time"
 
- )
 
- const (
 
- 	flashCookieName = "message"
 
- )
 
- func setFlashMessage(w http.ResponseWriter, r *http.Request, value string) {
 
- 	http.SetCookie(w, &http.Cookie{
 
- 		Name:     flashCookieName,
 
- 		Value:    base64.URLEncoding.EncodeToString([]byte(value)),
 
- 		Path:     "/",
 
- 		Expires:  time.Now().Add(60 * time.Second),
 
- 		MaxAge:   60,
 
- 		HttpOnly: true,
 
- 		Secure:   isTLS(r),
 
- 		SameSite: http.SameSiteLaxMode,
 
- 	})
 
- }
 
- func getFlashMessage(w http.ResponseWriter, r *http.Request) string {
 
- 	cookie, err := r.Cookie(flashCookieName)
 
- 	if err != nil {
 
- 		return ""
 
- 	}
 
- 	http.SetCookie(w, &http.Cookie{
 
- 		Name:     flashCookieName,
 
- 		Value:    "",
 
- 		Path:     "/",
 
- 		Expires:  time.Unix(0, 0),
 
- 		MaxAge:   -1,
 
- 		HttpOnly: true,
 
- 		Secure:   isTLS(r),
 
- 		SameSite: http.SameSiteLaxMode,
 
- 	})
 
- 	message, err := base64.URLEncoding.DecodeString(cookie.Value)
 
- 	if err != nil {
 
- 		return ""
 
- 	}
 
- 	return string(message)
 
- }
 
 
  |