Versions in this module Expand all Collapse all v0 v0.84.2 Sep 4, 2026 v0.84.1 Aug 19, 2026 Changes in this version + type Handler struct + OnHandle func(ctx context.Context, p *proxy.Proxy, dctx *proxy.DNSContext) (err error) + func (h *Handler) ServeDNS(ctx context.Context, p *proxy.Proxy, dctx *proxy.DNSContext) (err error) + type MessageConstructor struct + OnNewMsgFORMERR func(req *dns.Msg) (resp *dns.Msg) + OnNewMsgNODATA func(req *dns.Msg) (resp *dns.Msg) + OnNewMsgNOTIMPLEMENTED func(req *dns.Msg) (resp *dns.Msg) + OnNewMsgNXDOMAIN func(req *dns.Msg) (resp *dns.Msg) + OnNewMsgSERVFAIL func(req *dns.Msg) (resp *dns.Msg) + func NewMessageConstructor() (c *MessageConstructor) + func (c *MessageConstructor) NewMsgFORMERR(req *dns.Msg) (resp *dns.Msg) + func (c *MessageConstructor) NewMsgNODATA(req *dns.Msg) (resp *dns.Msg) + func (c *MessageConstructor) NewMsgNOTIMPLEMENTED(req *dns.Msg) (resp *dns.Msg) + func (c *MessageConstructor) NewMsgNXDOMAIN(req *dns.Msg) (resp *dns.Msg) + func (c *MessageConstructor) NewMsgSERVFAIL(req *dns.Msg) (resp *dns.Msg) + type Middleware struct + OnWrap func(h proxy.Handler) (wrapped proxy.Handler) + func (m *Middleware) Wrap(h proxy.Handler) (wrapped proxy.Handler) + type QUICTracer struct + OnTraceForConnection func(ctx context.Context, isClient bool, connID quic.ConnectionID) (trace qlogwriter.Trace) + func (t *QUICTracer) TraceForConnection(ctx context.Context, isClient bool, connID quic.ConnectionID) (trace qlogwriter.Trace) + type Upstream struct + OnAddress func() (addr string) + OnClose func() (err error) + OnExchange func(req *dns.Msg) (resp *dns.Msg, err error) + func (u *Upstream) Address() (addr string) + func (u *Upstream) Close() (err error) + func (u *Upstream) Exchange(req *dns.Msg) (resp *dns.Msg, err error)