package setup import ( "github.com/miekg/coredns/middleware" "github.com/miekg/coredns/middleware/health" ) func Health(c *Controller) (middleware.Middleware, error) { addr, err := parseHealth(c) if err != nil { return nil, err } h := &health.Health{Addr: addr} c.Startup = append(c.Startup, h.Start) c.Shutdown = append(c.Shutdown, h.Shutdown) return nil, nil } func parseHealth(c *Controller) (string, error) { addr := "" for c.Next() { args := c.RemainingArgs() switch len(args) { case 0: case 1: addr = args[0] default: return "", c.ArgErr() } } return addr, nil }