Skip to content

Commit aee518e

Browse files
jackcipherJack
andauthored
Fix Cookie Clone Issue in Client.Clone() (#1036)
Co-authored-by: Jack <jackcipehr.vip@gmail.com>
1 parent 1282e6e commit aee518e

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2208,7 +2208,7 @@ func (c *Client) Clone(ctx context.Context) *Client {
22082208
}
22092209
// clone cookies
22102210
if l := len(c.cookies); l > 0 {
2211-
cc.cookies = make([]*http.Cookie, l)
2211+
cc.cookies = make([]*http.Cookie, 0, l)
22122212
for _, cookie := range c.cookies {
22132213
cc.cookies = append(cc.cookies, cloneCookie(cookie))
22142214
}

client_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1348,6 +1348,15 @@ func TestClientClone(t *testing.T) {
13481348

13491349
// assert interface/pointer type
13501350
assertEqual(t, parent.Client(), clone.Client())
1351+
1352+
// assert cookies
1353+
parentCookies := parent.Cookies()
1354+
cloneCookies := clone.Cookies()
1355+
assertEqual(t, len(parentCookies), len(cloneCookies))
1356+
for i := range parentCookies {
1357+
assertEqual(t, parentCookies[i].Name, cloneCookies[i].Name)
1358+
assertEqual(t, parentCookies[i].Value, cloneCookies[i].Value)
1359+
}
13511360
}
13521361

13531362
func TestResponseBodyLimit(t *testing.T) {

0 commit comments

Comments
 (0)