mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-11 03:52:59 +00:00
68 lines
1.5 KiB
Go
68 lines
1.5 KiB
Go
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build ignore
|
|
|
|
package cookiejar_test
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"net/http"
|
|
"net/http/cookiejar"
|
|
"net/http/httptest"
|
|
"net/url"
|
|
)
|
|
|
|
func ExampleNew() {
|
|
// Start a server to give us cookies.
|
|
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
if cookie, err := r.Cookie("Flavor"); err != nil {
|
|
http.SetCookie(w, &http.Cookie{Name: "Flavor", Value: "Chocolate Chip"})
|
|
} else {
|
|
cookie.Value = "Oatmeal Raisin"
|
|
http.SetCookie(w, cookie)
|
|
}
|
|
}))
|
|
defer ts.Close()
|
|
|
|
u, err := url.Parse(ts.URL)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// All users of cookiejar should import "golang.org/x/net/publicsuffix"
|
|
jar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
client := &http.Client{
|
|
Jar: jar,
|
|
}
|
|
|
|
if _, err = client.Get(u.String()); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
fmt.Println("After 1st request:")
|
|
for _, cookie := range jar.Cookies(u) {
|
|
fmt.Printf(" %s: %s\n", cookie.Name, cookie.Value)
|
|
}
|
|
|
|
if _, err = client.Get(u.String()); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
fmt.Println("After 2nd request:")
|
|
for _, cookie := range jar.Cookies(u) {
|
|
fmt.Printf(" %s: %s\n", cookie.Name, cookie.Value)
|
|
}
|
|
// Output:
|
|
// After 1st request:
|
|
// Flavor: Chocolate Chip
|
|
// After 2nd request:
|
|
// Flavor: Oatmeal Raisin
|
|
}
|