3cb782f0a2
While there, modernize the way in which we run tests to avoid depending on the fake files scattered around the tree and to use some well defined mock structures instead. Part of https://github.com/ooni/probe/issues/1591
22 lines
583 B
Go
22 lines
583 B
Go
package dnsx
|
|
|
|
import "context"
|
|
|
|
// RoundTripper represents an abstract DNS transport.
|
|
type RoundTripper interface {
|
|
// RoundTrip sends a DNS query and receives the reply.
|
|
RoundTrip(ctx context.Context, query []byte) (reply []byte, err error)
|
|
|
|
// RequiresPadding return true for DoH and DoT according to RFC8467
|
|
RequiresPadding() bool
|
|
|
|
// Network is the network of the round tripper (e.g. "dot")
|
|
Network() string
|
|
|
|
// Address is the address of the round tripper (e.g. "1.1.1.1:853")
|
|
Address() string
|
|
|
|
// CloseIdleConnections closes idle connections.
|
|
CloseIdleConnections()
|
|
}
|