From 3e44adc94f32bfe500730fcbf1c02cedf65b0a30 Mon Sep 17 00:00:00 2001 From: radhitya Date: Sat, 13 Jun 2026 16:09:53 +0700 Subject: root hints, glue record, delegation loop, iterative, ns fallback, timeout, glue record --- internal/server/server.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'internal/server/server.go') diff --git a/internal/server/server.go b/internal/server/server.go index f40648e..3114073 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -7,20 +7,21 @@ import ( "time" "github.com/miekg/dns" + "sdns/internal/resolver" ) type Server struct { - logger *slog.Logger - udp *dns.Server - tcp *dns.Server - doh *http.Server + logger *slog.Logger + resolver *resolver.Resolver + udp *dns.Server + tcp *dns.Server + doh *http.Server } -func New(udpAddr, tcpAddr, dohAddr string, logger *slog.Logger) (*Server, error) { +func New(udpAddr, tcpAddr, dohAddr string, logger *slog.Logger, r *resolver.Resolver) (*Server, error) { + s := &Server{logger: logger, resolver: r} mux := dns.NewServeMux() - mux.HandleFunc(".", handleQuery) - - s := &Server{logger: logger} + mux.HandleFunc(".", s.handleQuery) if udpAddr != "" { s.udp = &dns.Server{ -- cgit v1.2.3