Issue-6671: Fixed the order of plugins. (#6729)

* Issue-6671: Fixed the order of plugins.

Signed-off-by: osho-20 <yashjainiiita@gmail.com>

* Issue-6671: corrected test cases.

Signed-off-by: osho-20 <yashjainiiita@gmail.com>

* Issue-6671: fixed CoreDNSServerPorts

Signed-off-by: osho-20 <yashjainiiita@gmail.com>

* Issue-6671: removed unnecessary change.

Signed-off-by: osho-20 <yashjainiiita@gmail.com>

* Issue-6671: added extra check for error.

Signed-off-by: osho-20 <yashjainiiita@gmail.com>

---------

Signed-off-by: osho-20 <yashjainiiita@gmail.com>
This commit is contained in:
YASH JAIN 2024-10-25 00:48:56 +05:30 committed by GitHub
parent 20c5f55802
commit 2d1ce165a5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 4 deletions

View file

@ -263,8 +263,11 @@ func (c *Config) Handlers() []plugin.Handler {
return nil return nil
} }
hs := make([]plugin.Handler, 0, len(c.registry)) hs := make([]plugin.Handler, 0, len(c.registry))
for k := range c.registry { for _, k := range Directives {
hs = append(hs, c.registry[k]) registry := c.Handler(k)
if registry != nil {
hs = append(hs, registry)
}
} }
return hs return hs
} }

View file

@ -10,7 +10,7 @@ func TestHandler(t *testing.T) {
if _, err := NewServer("127.0.0.1:53", []*Config{c}); err != nil { if _, err := NewServer("127.0.0.1:53", []*Config{c}); err != nil {
t.Errorf("Expected no error for NewServer, got %s", err) t.Errorf("Expected no error for NewServer, got %s", err)
} }
if h := c.Handler("testplugin"); h != tp { if h := c.Handler("local"); h != tp {
t.Errorf("Expected testPlugin from Handler, got %T", h) t.Errorf("Expected testPlugin from Handler, got %T", h)
} }
if h := c.Handler("nothing"); h != nil { if h := c.Handler("nothing"); h != nil {

View file

@ -17,7 +17,7 @@ func (tp testPlugin) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.
return 0, nil return 0, nil
} }
func (tp testPlugin) Name() string { return "testplugin" } func (tp testPlugin) Name() string { return "local" }
func testConfig(transport string, p plugin.Handler) *Config { func testConfig(transport string, p plugin.Handler) *Config {
c := &Config{ c := &Config{