net-http-cookie

大概记录一下golang里面的net/http包内client.go的文件,及其相关内容

Cookie

Cookie 表示HTTP cookie相关内容,用于HTTP响应和HTTP请求header

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
type Cookie struct {
4Name string
4Value string

4Path string // optional
4Domain string // optional
4Expires time.Time // optional
4RawExpires string // for reading cookies only

4// MaxAge=0 表示没有当前MaxAge
4// MaxAge<0 表示立即删除当前cookie,等同于'Max-Age: 0'
4// MaxAge>0 表示MaxAge存在,并用秒来表示
4MaxAge int
4Secure bool
4HttpOnly bool
4Raw string
4Unparsed []string // 未解析的kv对原始文本
}

1
func (c *Cookie) String() string

String 返回cookie的序列化以在Cookie头中使用(如果仅设置Name和Value)或Set-Cookie响应头(如果设置了其他字段)。如果c为nil或者c.Name非法,返回空字符串

Cookie function

1
func readSetCookies(h Header) []*Cookie

readSetCookies 解析h中的所有“Set-Cookie”值并返回成功解析的Cookie。

1
func SetCookie(w ResponseWriter, cookie *Cookie)

SetCookie 向w中添加Set-Cookie header。 提供的cookie必须具有有效的名称。 无效的cookie可能会被静默删除。

1
func readCookies(h Header, filter string) []*Cookie

readCookies 从h中解析cookie,返回成功解析的cookies,如果filter不为空,则只返回当前filter名字的cookie

1
func validCookieDomain(v string) bool

validCookieDomain 判断v是否是合法的cookie格式

1
func validCookieExpires(t time.Time) bool

validCookieExpires 判断v的过期时间是否合法

1
func isCookieDomainName(s string) bool

isCookieDomainName 判断s是否是有效域名或名字由‘.’开始

1
func sanitizeCookieName(n string) string

sanitizeCookieName

1
func sanitizeCookieValue(v string) string

sanitizeCookieValue

1
func validCookieValueByte(b byte) bool

validCookieValueByte

1
func sanitizeCookiePath(v string) string

sanitizeCookiePath

1
func validCookiePathByte(b byte) bool

validCookiePathByte

1
func sanitizeOrWarn(fieldName string, valid func(byte) bool, v string) string

sanitizeOrWarn

1
func parseCookieValue(raw string, allowDoubleQuote bool) (string, bool)

parseCookieValue

1
func isCookieNameValid(raw string) bool

isCookieNameValid 判断cookie name是否合法