diff options
Diffstat (limited to 'internal/server/server.go')
| -rw-r--r-- | internal/server/server.go | 17 |
1 files changed, 9 insertions, 8 deletions
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{ |
