diff options
Diffstat (limited to 'internal/server/server.go')
| -rw-r--r-- | internal/server/server.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/server/server.go b/internal/server/server.go index ec0dec9..8f991eb 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -20,11 +20,17 @@ type Server struct { udp *dns.Server tcp *dns.Server doh *http.Server + baseCtx context.Context + cancel context.CancelFunc } func New(udpAddr, tcpAddr, dohAddr string, logger *slog.Logger, r *resolver.Resolver, c *cache.Cache, b *blocklist.Blocklist) (*Server, error) { - s := &Server{logger: logger, resolver: r, cache: c, blocklist: b} + baseCtx, cancel := context.WithCancel(context.Background()) + + s := &Server{logger: logger, resolver: r, cache: c, blocklist: b, + baseCtx: baseCtx, cancel: cancel} + mux := dns.NewServeMux() mux.HandleFunc(".", s.handleQuery) |
