566c6b246a
This diff addresses another point of https://github.com/ooni/probe/issues/1956: > - [ ] observe that we're still using a bunch of private interfaces for common interfaces such as the `Dialer`, so we can get rid of these private interfaces and always use the ones in `model`, which allows us to remove a bunch of legacy wrappers Additional cleanups may still be possible. The more I cleanup, the more I see there's extra legacy code we can dispose of (which seems good?).
31 lines
626 B
Go
31 lines
626 B
Go
package dialer_test
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/apex/log"
|
|
"github.com/ooni/probe-cli/v3/internal/engine/netx/dialer"
|
|
"github.com/ooni/probe-cli/v3/internal/engine/netx/trace"
|
|
"github.com/ooni/probe-cli/v3/internal/netxlite"
|
|
)
|
|
|
|
func Example() {
|
|
saver := &trace.Saver{}
|
|
|
|
dlr := dialer.New(&dialer.Config{
|
|
DialSaver: saver,
|
|
Logger: log.Log,
|
|
ReadWriteSaver: saver,
|
|
}, netxlite.DefaultResolver)
|
|
|
|
ctx := context.Background()
|
|
conn, err := dlr.DialContext(ctx, "tcp", "8.8.8.8:53")
|
|
if err != nil {
|
|
log.WithError(err).Fatal("DialContext failed")
|
|
}
|
|
|
|
// ... use the connection ...
|
|
|
|
conn.Close()
|
|
}
|