Skip to content

Commit 20e9cb1

Browse files
committed
dialer: register dialer types on init
1 parent d50ed81 commit 20e9cb1

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

dialer/dialer.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@ import (
55
"fmt"
66
"net"
77
"net/url"
8-
"sync"
98

109
xproxy "golang.org/x/net/proxy"
1110
)
1211

12+
func init() {
13+
xproxy.RegisterDialerType("http", HTTPProxyDialerFromURL)
14+
xproxy.RegisterDialerType("https", HTTPProxyDialerFromURL)
15+
xproxy.RegisterDialerType("set-src-hints", NewHintsSettingDialerFromURL)
16+
}
17+
1318
type LegacyDialer interface {
1419
Dial(network, address string) (net.Conn, error)
1520
}
@@ -19,14 +24,7 @@ type Dialer interface {
1924
DialContext(ctx context.Context, network, address string) (net.Conn, error)
2025
}
2126

22-
var registerDialerTypesOnce sync.Once
23-
2427
func ProxyDialerFromURL(proxyURL string, forward Dialer) (Dialer, error) {
25-
registerDialerTypesOnce.Do(func() {
26-
xproxy.RegisterDialerType("http", HTTPProxyDialerFromURL)
27-
xproxy.RegisterDialerType("https", HTTPProxyDialerFromURL)
28-
xproxy.RegisterDialerType("set-src-hints", NewHintsSettingDialerFromURL)
29-
})
3028
parsedURL, err := url.Parse(proxyURL)
3129
if err != nil {
3230
return nil, fmt.Errorf("unable to parse proxy URL: %w", err)

0 commit comments

Comments
 (0)