mirror of
https://github.com/coredns/coredns.git
synced 2025-11-01 10:43:17 -04:00
plugin/metadata: metadata is just label=value (#1914)
This revert 17d807f0 and re-adds the metadata plugin as a plugin that
just sets a label to a value function.
Add package documentation on how to use the metadata package. Make it
clear that any caching is up to the Func implemented.
There are now - no in tree users. We could add the request metadata by
default under names that copy request.Request, i.e
request/ip - remote IP
request/port - remote port
Variables.go has been deleted.
Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
package metadata
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/coredns/coredns/core/dnsserver"
|
||||
"github.com/coredns/coredns/plugin"
|
||||
|
||||
@@ -28,16 +26,8 @@ func setup(c *caddy.Controller) error {
|
||||
|
||||
c.OnStartup(func() error {
|
||||
plugins := dnsserver.GetConfig(c).Handlers()
|
||||
// Collect all plugins which implement Provider interface
|
||||
metadataVariables := map[string]bool{}
|
||||
for _, p := range plugins {
|
||||
if met, ok := p.(Provider); ok {
|
||||
for _, varName := range met.MetadataVarNames() {
|
||||
if _, ok := metadataVariables[varName]; ok {
|
||||
return fmt.Errorf("Metadata variable '%v' has duplicates", varName)
|
||||
}
|
||||
metadataVariables[varName] = true
|
||||
}
|
||||
m.Providers = append(m.Providers, met)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user