From 10aa1488e6608b09229b678bd4a06a35b6f324f1 Mon Sep 17 00:00:00 2001 From: ww-github Date: Mon, 3 Aug 2020 10:20:15 +0000 Subject: [PATCH] fix: correctly skip cookies --- core/client.go | 3 ++- scripts/quebec/readings.go | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/client.go b/core/client.go index 775714a..490a059 100644 --- a/core/client.go +++ b/core/client.go @@ -128,7 +128,8 @@ func (client *HTTPClient) Do(req *http.Request, opts *RequestOptions) (*http.Res if opts != nil && resp != nil && opts.SkipCookies { cookies := resp.Cookies() for _, rc := range cookies { - client.PersistentJar.RemoveCookie(rc) + rc.MaxAge = -1 + client.Jar.SetCookies(resp.Request.URL, []*http.Cookie{rc}) } } diff --git a/scripts/quebec/readings.go b/scripts/quebec/readings.go index 9c312c1..758fbb5 100644 --- a/scripts/quebec/readings.go +++ b/scripts/quebec/readings.go @@ -92,8 +92,9 @@ func (s *scriptQuebec) getReadings(recv chan<- *core.Measurement, errs chan<- er errs <- err return } - // resp, err := core.Client.Get(fmt.Sprintf(s.readingsURLFormat, code), &core.RequestOptions{SkipCookies: true}) - resp, err := core.Client.Get(fmt.Sprintf(s.readingsURLFormat, code), nil) + // will set-cookies every time, until max headers length overflows + // the workaround is to ignore cookies entirely + resp, err := core.Client.Get(fmt.Sprintf(s.readingsURLFormat, code), &core.RequestOptions{SkipCookies: true}) if err != nil { errs <- err return