fcee603081
Previously if the only names defined by _test packages were examples, the gotest script would emit an incorrect _testmain.go file. I worked around that by marking the example_test.go files +build ignored. This CL changes the gotest script to handle this case correctly, and removes the now-unnecessary build tags. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/214039 From-SVN: r280085
66 lines
1.5 KiB
Go
66 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.
|
|
|
|
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
|
|
}
|