diff --git a/client.go b/client.go index 04fdafee..9b7badf3 100644 --- a/client.go +++ b/client.go @@ -197,13 +197,6 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h } req = req.WithContext(ctx) - // Set the cookies present in the cookie jar of the dialer - if d.Jar != nil { - for _, cookie := range d.Jar.Cookies(u) { - req.AddCookie(cookie) - } - } - // Set the request headers using the capitalization for names and values in // RFC examples. Although the capitalization shouldn't matter, there are // servers that depend on it. The Header.Set method is not used because the @@ -235,6 +228,13 @@ func (d *Dialer) DialContext(ctx context.Context, urlStr string, requestHeader h } } + // Set the cookies present in the cookie jar of the dialer + if d.Jar != nil { + for _, cookie := range d.Jar.Cookies(u) { + req.AddCookie(cookie) + } + } + if d.EnableCompression { req.Header["Sec-WebSocket-Extensions"] = []string{"permessage-deflate; server_no_context_takeover; client_no_context_takeover"} }