cookie

package
v1.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package cookie provides a function to parse a Netscape cookie file and add the cookies to a cookie jar.

Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseFromFile

func ParseFromFile(jar http.CookieJar, cookieFile string) error

ParseFromFile parses a netscape cookie file and adds the cookies to the jar.

Types

type Jar added in v1.9.0

type Jar struct {
	// contains filtered or unexported fields
}

Jar implements the http.CookieJar interface from the net/http package.

func NewJar added in v1.9.0

func NewJar(filename string, o *JarOptions) (*Jar, error)

NewJar returns a new cookie jar. A nil *JarOptions is equivalent to a zero Options.

func (*Jar) Cookies added in v1.9.0

func (j *Jar) Cookies(u *url.URL) (cookies []*http.Cookie)

Cookies implements the Cookies method of the http.CookieJar interface.

It returns an empty slice if the URL's scheme is not HTTP or HTTPS.

func (*Jar) Delete added in v1.9.0

func (j *Jar) Delete()

Delete deletes the jar file.

func (*Jar) Exists added in v1.9.0

func (j *Jar) Exists() bool

Exists returns true if the jar exists.

func (*Jar) Save added in v1.9.0

func (j *Jar) Save() error

Save saves the jar to a file.

func (*Jar) SetCookies added in v1.9.0

func (j *Jar) SetCookies(u *url.URL, cookies []*http.Cookie)

SetCookies implements the SetCookies method of the http.CookieJar interface.

It does nothing if the URL's scheme is not HTTP or HTTPS.

type JarOptions added in v1.9.0

type JarOptions struct {
	// PublicSuffixList is the public suffix list that determines whether
	// an HTTP server can set a cookie for a domain.
	//
	// A nil value is valid and may be useful for testing but it is not
	// secure: it means that the HTTP server for foo.co.uk can set a cookie
	// for bar.co.uk.
	PublicSuffixList PublicSuffixList

	// encryptionSecret is the secret used to encrypt cookies.
	EncryptionSecret string
}

JarOptions are the options for creating a new Jar.

type PublicSuffixList added in v1.9.0

type PublicSuffixList interface {
	// PublicSuffix returns the public suffix of domain.
	//
	// TODO: specify which of the caller and callee is responsible for IP
	// addresses, for leading and trailing dots, for case sensitivity, and
	// for IDN/Punycode.
	PublicSuffix(domain string) string

	// String returns a description of the source of this public suffix
	// list. The description will typically contain something like a time
	// stamp or version number.
	String() string
}

PublicSuffixList provides the public suffix of a domain. For example:

  • the public suffix of "example.com" is "com",
  • the public suffix of "foo1.foo2.foo3.co.uk" is "co.uk", and
  • the public suffix of "bar.pvt.k12.ma.us" is "pvt.k12.ma.us".

Implementations of PublicSuffixList must be safe for concurrent use by multiple goroutines.

An implementation that always returns "" is valid and may be useful for testing but it is not secure: it means that the HTTP server for foo.com can set a cookie for bar.com.

A public suffix list implementation is in the package golang.org/x/net/publicsuffix.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL