summaryrefslogtreecommitdiff
path: root/libgo/go/net/http/jar.go
blob: 2c2caa251fe3eb24c7844b14a78fc440e7a8dd48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright 2011 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 http

import (
	"net/url"
)

// A CookieJar manages storage and use of cookies in HTTP requests. 
//
// Implementations of CookieJar must be safe for concurrent use by multiple
// goroutines.
type CookieJar interface {
	// SetCookies handles the receipt of the cookies in a reply for the 
	// given URL.  It may or may not choose to save the cookies, depending 
	// on the jar's policy and implementation. 
	SetCookies(u *url.URL, cookies []*Cookie)

	// Cookies returns the cookies to send in a request for the given URL.
	// It is up to the implementation to honor the standard cookie use 
	// restrictions such as in RFC 6265. 
	Cookies(u *url.URL) []*Cookie
}

type blackHoleJar struct{}

func (blackHoleJar) SetCookies(u *url.URL, cookies []*Cookie) {}
func (blackHoleJar) Cookies(u *url.URL) []*Cookie             { return nil }