adbde7246b
We're currently use jafar for QA and jafar is a better mechanism, even though it is not portable outside of Linux. This self censorship mechanism was less cool and added a bunch of (also cognitive) complexity to netx. If we ever want to go down a self censorship like road, we probably want to do as little work as possible in the problem and as much work as possible inside a helper like jafar. Part of https://github.com/ooni/probe/issues/1591.
25 lines
557 B
Go
25 lines
557 B
Go
package dialer
|
|
|
|
import (
|
|
"context"
|
|
"net"
|
|
"time"
|
|
)
|
|
|
|
// defaultNetDialer is the net.Dialer we use by default.
|
|
var defaultNetDialer = &net.Dialer{
|
|
Timeout: 15 * time.Second,
|
|
KeepAlive: 15 * time.Second,
|
|
}
|
|
|
|
// SystemDialer is the system dialer.
|
|
type SystemDialer struct{}
|
|
|
|
// DialContext implements Dialer.DialContext
|
|
func (d SystemDialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) {
|
|
return defaultNetDialer.DialContext(ctx, network, address)
|
|
}
|
|
|
|
// Default is the dialer we use by default.
|
|
var Default = SystemDialer{}
|