Documentation
¶
Overview ¶
Package bootstrap provides types and functions to resolve upstream hostnames and to dial retrieved addresses.
Index ¶
Constants ¶
const ErrNoResolvers errors.Error = "no resolvers specified"
ErrNoResolvers is returned when zero resolvers specified.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DialHandler ¶
DialHandler is a dial function for creating unencrypted network connections to the upstream server. It establishes the connection to the server specified at initialization and ignores the addr.
func NewDialContext ¶
func NewDialContext(timeout time.Duration, addrs ...string) (h DialHandler)
NewDialContext returns a DialHandler that dials addrs and returns the first successful connection. At least a single addr should be specified.
TODO(e.burkov): Consider using Resolver instead of [upstream.Options.Bootstrap] and [upstream.Options.ServerIPAddrs].
func ResolveDialContext ¶
func ResolveDialContext( u *url.URL, timeout time.Duration, resolvers []Resolver, preferIPv6 bool, ) (h DialHandler, err error)
ResolveDialContext returns a DialHandler that uses addresses resolved from u using resolvers. u must not be nil.
type HostsResolver ¶ added in v0.55.0
type HostsResolver struct {
// contains filtered or unexported fields
}
HostsResolver is a Resolver that uses [netutil.Hosts] as a source of IP.
func NewDefaultHostsResolver ¶ added in v0.55.0
func NewDefaultHostsResolver(rootFSys fs.FS) (hr *HostsResolver, err error)
NewDefaultHostsResolver returns a resolver based on system hosts files provided by the hostsfile.DefaultHostsPaths and read from rootFSys.
TODO(e.burkov): Use.
func NewHostsResolver ¶ added in v0.55.0
func NewHostsResolver(hosts *netutil.Hosts) (hr *HostsResolver)
NewHostsResolver is the resolver based on system hosts files.