**Description** If you manually pass `Cookie` header in `DialContext(..., http.Header)`, cookies from `Dialer.Jar` will be overwritten. **Steps to Reproduce** ```go dialer := websocket.Dialer{ Jar: jar, } header := http.Header{} header.Set("Cookie", "some_cookie_name=some_cookie_value") ... = dialer.DialContext(ctx, url, header) ``` **Possible reason** From the first look I would say that this is happening because [the part of code which is responsible for setting up all the passed headers](https://github.com/gorilla/websocket/blob/master/client.go#L207) ignores [already applied `Cookie` header from `http.CookieJar`](https://github.com/gorilla/websocket/blob/master/client.go#L190).