aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar John Belamaric <jbelamaric@infoblox.com> 2017-01-31 17:21:55 -0500
committerGravatar Miek Gieben <miek@miek.nl> 2017-01-31 22:21:55 +0000
commit3a04d2a306c793b0b3187fa9b52c89db9bd85cb9 (patch)
tree8fd88f589b237ad3c6cbb9420fdd1580be0cc8da
parent439d8b8d123596070ff68d2b038021f7527965b2 (diff)
downloadcoredns-3a04d2a306c793b0b3187fa9b52c89db9bd85cb9.tar.gz
coredns-3a04d2a306c793b0b3187fa9b52c89db9bd85cb9.tar.zst
coredns-3a04d2a306c793b0b3187fa9b52c89db9bd85cb9.zip
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
-rw-r--r--core/dnsserver/config.go3
-rw-r--r--core/dnsserver/server.go1
2 files changed, 4 insertions, 0 deletions
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