sessions - example_test.go
1 package sessions_test
2
3 import (
4 "fmt"
5 "net/http"
6 "net/http/httptest"
7 "time"
8
9 "vimagination.zapto.org/sessions"
10 )
11
12 func Example() {
13 store, err := sessions.NewCookieStore([]byte("!THIS IS MY KEY!"), sessions.Expiry(time.Second))
14 if err != nil {
15 fmt.Println(err)
16
17 return
18 }
19
20 w := httptest.NewRecorder()
21
22 store.Set(w, []byte("MY_DATA"))
23
24 r := httptest.NewRequest(http.MethodGet, "http://example.com", nil)
25
26 for _, cookie := range w.Result().Cookies() {
27 r.AddCookie(cookie)
28 }
29
30 fmt.Printf("%q\n", store.Get(r))
31
32 time.Sleep(2 * time.Second)
33
34 fmt.Printf("%q\n", store.Get(r))
35
36 // Output:
37 // "MY_DATA"
38 // ""
39 }
40