Export ServeDNSWithContext for use by gRPC server middleware
@@ -155,10 +155,12 @@ func (s *Server) Address() string { return s.Addr }
// defined in the request so that the correct zone
// (configuration and middleware stack) will handle the request.
func (s *Server) ServeDNS(w dns.ResponseWriter, r *dns.Msg) {
- s.serveDNSWithContext(context.Background(), w, r)
+ s.ServeDNSWithContext(context.Background(), w, r)
}
-func (s *Server) serveDNSWithContext(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) {
+// ServeDNSWithContext may be used as an entrypoint for requests that
+// come from transports that may include a Context (such as gRPC)
+func (s *Server) ServeDNSWithContext(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) {
defer func() {
// In case the user doesn't enable error middleware, we still
// need to make sure that we stay alive up here
