feat(netxlite): add QUICDialerLogger (#410)
Part of https://github.com/ooni/probe/issues/1505
This commit is contained in:
parent
b07890af4d
commit
046dd4545d
5 changed files with 433 additions and 2 deletions
|
|
@ -145,6 +145,8 @@ type QUICDialerResolver struct {
|
|||
Resolver Resolver
|
||||
}
|
||||
|
||||
var _ QUICContextDialer = &QUICDialerResolver{}
|
||||
|
||||
// DialContext implements QUICContextDialer.DialContext. This function
|
||||
// will apply the following TLS defaults:
|
||||
//
|
||||
|
|
@ -195,3 +197,28 @@ func (d *QUICDialerResolver) lookupHost(ctx context.Context, hostname string) ([
|
|||
}
|
||||
return d.Resolver.LookupHost(ctx, hostname)
|
||||
}
|
||||
|
||||
// QUICDialerLogger is a dialer with logging.
|
||||
type QUICDialerLogger struct {
|
||||
// Dialer is the underlying QUIC dialer.
|
||||
Dialer QUICContextDialer
|
||||
|
||||
// Logger is the underlying logger.
|
||||
Logger Logger
|
||||
}
|
||||
|
||||
var _ QUICContextDialer = &QUICDialerLogger{}
|
||||
|
||||
// DialContext implements QUICContextDialer.DialContext.
|
||||
func (d *QUICDialerLogger) DialContext(
|
||||
ctx context.Context, network, address string,
|
||||
tlsConfig *tls.Config, quicConfig *quic.Config) (quic.EarlySession, error) {
|
||||
d.Logger.Debugf("quic %s/%s...", address, network)
|
||||
sess, err := d.Dialer.DialContext(ctx, network, address, tlsConfig, quicConfig)
|
||||
if err != nil {
|
||||
d.Logger.Debugf("quic %s/%s... %s", address, network, err)
|
||||
return nil, err
|
||||
}
|
||||
d.Logger.Debugf("quic %s/%s... ok", address, network)
|
||||
return sess, nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue