Versions in this module Expand all Collapse all v1 v1.0.0 Oct 10, 2023 Changes in this version + const LogFieldAddress + const LogFieldURL + const MaxUpstreamConnsDefault + type Listener struct + func CreateListener(address string, port uint16, upstreams []string, bootstraps []string, ...) (*Listener, error) + func (l *Listener) Start(readySignal chan struct{}) error + func (l *Listener) Stop() error + type MetricsPlugin struct + Next plugin.Handler + func NewMetricsPlugin(next plugin.Handler) *MetricsPlugin + func (p MetricsPlugin) Name() string + func (p MetricsPlugin) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) + type ProxyPlugin struct + Next plugin.Handler + Upstreams []Upstream + func (p ProxyPlugin) Name() string + func (p ProxyPlugin) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error) + type Upstream interface + Exchange func(ctx context.Context, query *dns.Msg) (*dns.Msg, error) + func NewUpstreamHTTPS(endpoint string, bootstraps []string, maxConnections int, log *zerolog.Logger) (Upstream, error) + type UpstreamHTTPS struct + func (u *UpstreamHTTPS) Exchange(ctx context.Context, query *dns.Msg) (*dns.Msg, error)