Ignore cookies with empty values Change-Id: I7902bb4eff8863117f8fe895e1a4ae8af29a88be
diff --git a/cookie/cookie.go b/cookie/cookie.go index ca2df64..bd7e490 100644 --- a/cookie/cookie.go +++ b/cookie/cookie.go
@@ -53,8 +53,8 @@ continue } fields := strings.Split(line, "\t") - if len(fields) != 7 { - return nil, fmt.Errorf("got %d fields in line %q, want 8", len(fields), line) + if len(fields) != 6 && len(fields) != 7 { + return nil, fmt.Errorf("got %d fields in line %q, want 6 or 7", len(fields), line) } exp, err := strconv.ParseInt(fields[4], 10, 64) @@ -65,12 +65,14 @@ c := http.Cookie{ Domain: fields[0], Name: fields[5], - Value: fields[6], Path: fields[2], Expires: time.Unix(exp, 0), Secure: fields[3] == "TRUE", HttpOnly: httpOnly, } + if len(fields) == 7 { + c.Value = fields[6] + } result = append(result, &c) }
diff --git a/cookie/cookie_test.go b/cookie/cookie_test.go index b63260e..2aa4d53 100644 --- a/cookie/cookie_test.go +++ b/cookie/cookie_test.go
@@ -26,6 +26,7 @@ in := `# Netscape HTTP Cookie File # http://www.netscape.com/newsref/std/cookie_spec.html # This is a generated file! Do not edit. +#HttpOnly_login.netscape.com FALSE / FALSE 1467968199 XYZ #HttpOnly_login.netscape.com FALSE / FALSE 1467968199 XYZ abc|pqr` buf := bytes.NewBufferString(in) @@ -41,6 +42,14 @@ Secure: false, Expires: time.Unix(1467968199, 0), Name: "XYZ", + HttpOnly: true, + }, + { + Domain: "login.netscape.com", + Path: "/", + Secure: false, + Expires: time.Unix(1467968199, 0), + Name: "XYZ", Value: "abc|pqr", HttpOnly: true, },