From 3a04d2a306c793b0b3187fa9b52c89db9bd85cb9 Mon Sep 17 00:00:00 2001 From: John Belamaric Date: Tue, 31 Jan 2017 17:21:55 -0500 Subject: [PATCH] Changes needed to support external gRPC server middleware (#498) The gRPC server middleware[1] needs access to the Server object in order to push the unpacked Msg through the normal middleware pipeline. These are the changes to core needed to make that possible. [1] https://github.com/infobloxopen/coredns-grpc --- core/dnsserver/config.go | 3 +++ core/dnsserver/server.go | 1 + 2 files changed, 4 insertions(+) diff --git a/core/dnsserver/config.go b/core/dnsserver/config.go index 123ab70ce..f51aeec8f 100644 --- a/core/dnsserver/config.go +++ b/core/dnsserver/config.go @@ -21,6 +21,9 @@ type Config struct { // First consumer is the file middleware to looks for zone files in this place. Root string + // Server is the server that handles this config + Server *Server + // Middleware stack. Middleware []middleware.Middleware diff --git a/core/dnsserver/server.go b/core/dnsserver/server.go index cc078d0d8..63da32c20 100644 --- a/core/dnsserver/server.go +++ b/core/dnsserver/server.go @@ -67,6 +67,7 @@ func NewServer(addr string, group []*Config) (*Server, error) { stack = site.Middleware[i](stack) } site.middlewareChain = stack + site.Server = s } return s, nil