瀏覽代碼

Improve client default timeout code

- Remove duplicate code.
- Don't update deprecated functions.
Gary Burd 7 年之前
父節點
當前提交
4835f71f2a
共有 1 個文件被更改,包括 4 次插入5 次删除
  1. 4 5
      client.go

+ 4 - 5
client.go

@@ -41,7 +41,6 @@ func NewClient(netConn net.Conn, u *url.URL, requestHeader http.Header, readBufS
 		NetDial: func(net, addr string) (net.Conn, error) {
 			return netConn, nil
 		},
-		HandshakeTimeout: 45 * time.Second,
 	}
 	return d.Dial(u.String(), requestHeader)
 }
@@ -111,6 +110,9 @@ var DefaultDialer = &Dialer{
 	HandshakeTimeout: 45 * time.Second,
 }
 
+// nilDialer is dialer to use when receiver is nil.
+var nilDialer Dialer = *DefaultDialer
+
 // Dial creates a new client connection. Use requestHeader to specify the
 // origin (Origin), subprotocols (Sec-WebSocket-Protocol) and cookies (Cookie).
 // Use the response.Header to get the selected subprotocol
@@ -123,10 +125,7 @@ var DefaultDialer = &Dialer{
 func (d *Dialer) Dial(urlStr string, requestHeader http.Header) (*Conn, *http.Response, error) {
 
 	if d == nil {
-		d = &Dialer{
-			Proxy:            http.ProxyFromEnvironment,
-			HandshakeTimeout: 45 * time.Second,
-		}
+		d = &nilDialer
 	}
 
 	challengeKey, err := generateChallengeKey()