diff options
author | 2017-01-31 17:21:55 -0500 | |
---|---|---|
committer | 2017-01-31 22:21:55 +0000 | |
commit | 3a04d2a306c793b0b3187fa9b52c89db9bd85cb9 (patch) | |
tree | 8fd88f589b237ad3c6cbb9420fdd1580be0cc8da | |
parent | 439d8b8d123596070ff68d2b038021f7527965b2 (diff) | |
download | coredns-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.go | 3 | ||||
-rw-r--r-- | core/dnsserver/server.go | 1 |
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 |