Source file src/pkg/net/http/jar.go
1 // Copyright 2011 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package http
6
7 import (
8 "net/url"
9 )
10
11 // A CookieJar manages storage and use of cookies in HTTP requests.
12 //
13 // Implementations of CookieJar must be safe for concurrent use by multiple
14 // goroutines.
15 type CookieJar interface {
16 // SetCookies handles the receipt of the cookies in a reply for the
17 // given URL. It may or may not choose to save the cookies, depending
18 // on the jar's policy and implementation.
19 SetCookies(u *url.URL, cookies []*Cookie)
20
21 // Cookies returns the cookies to send in a request for the given URL.
22 // It is up to the implementation to honor the standard cookie use
23 // restrictions such as in RFC 6265.
24 Cookies(u *url.URL) []*Cookie
25 }
26
27 type blackHoleJar struct{}
28
29 func (blackHoleJar) SetCookies(u *url.URL, cookies []*Cookie) {}
30 func (blackHoleJar) Cookies(u *url.URL) []*Cookie { return nil }