Skip to content

Instantly share code, notes, and snippets.

@MarcoPolo
Created January 5, 2023 22:32
Show Gist options
  • Save MarcoPolo/ddb3c159d1358d6e261a78282425839c to your computer and use it in GitHub Desktop.
Save MarcoPolo/ddb3c159d1358d6e261a78282425839c to your computer and use it in GitHub Desktop.
diff --git a/p2p/transport/websocket/websocket.go b/p2p/transport/websocket/websocket.go
index 93221a64..90c78f44 100644
--- a/p2p/transport/websocket/websocket.go
+++ b/p2p/transport/websocket/websocket.go
@@ -177,17 +177,7 @@ func (t *WebsocketTransport) maDial(ctx context.Context, raddr ma.Multiaddr) (ma
remoteAddr := addrWrapper{URL: &wsurlCopy}
localAddrChan := make(chan addrWrapper, 1)
- transport := &http.Transport{
- DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
- conn, err := net.Dial(network, addr)
- if err != nil {
- close(localAddrChan)
- return nil, err
- }
- localAddrChan <- addrWrapper{URL: &url.URL{Host: conn.LocalAddr().String(), Scheme: wsurl.Scheme}}
- return conn, nil
- },
- }
+ transport := &http.Transport{}
dialer := http.Client{
Timeout: 30 * time.Second,
Transport: transport,
@@ -224,6 +214,25 @@ func (t *WebsocketTransport) maDial(ctx context.Context, raddr ma.Multiaddr) (ma
wsurl.Host = sni + ":" + wsurl.Port()
} else {
transport.TLSClientConfig = t.tlsClientConf
+ transport.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) {
+ conn, err := net.Dial(network, addr)
+ if err != nil {
+ close(localAddrChan)
+ return nil, err
+ }
+ localAddrChan <- addrWrapper{URL: &url.URL{Host: conn.LocalAddr().String(), Scheme: wsurl.Scheme}}
+ return conn, nil
+ }
+ }
+ } else {
+ transport.DialContext = func(ctx context.Context, network, addr string) (net.Conn, error) {
+ conn, err := net.Dial(network, addr)
+ if err != nil {
+ close(localAddrChan)
+ return nil, err
+ }
+ localAddrChan <- addrWrapper{URL: &url.URL{Host: conn.LocalAddr().String(), Scheme: wsurl.Scheme}}
+ return conn, nil
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment