@@ -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+
1318type 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-
2427func 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