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,
},