setup.go 510 B

12345678910111213141516171819202122232425262728
  1. package example
  2. import (
  3. "github.com/coredns/coredns/core/dnsserver"
  4. "github.com/coredns/coredns/middleware"
  5. "github.com/mholt/caddy"
  6. )
  7. func init() {
  8. caddy.RegisterPlugin("example", caddy.Plugin{
  9. ServerType: "dns",
  10. Action: setup,
  11. })
  12. }
  13. func setup(c *caddy.Controller) error {
  14. c.Next()
  15. if c.NextArg() {
  16. return middleware.Error("example", c.ArgErr())
  17. }
  18. dnsserver.GetConfig(c).AddMiddleware(func(next middleware.Handler) middleware.Handler {
  19. return Example{Next: next}
  20. })
  21. return nil
  22. }