Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var StringToHandler = map[string]func() Handler{ "acl": func() Handler { return new(acl.Acl) }, "any": func() Handler { return new(any.Any) }, "as112": func() Handler { return new(as112.As112) }, "chaos": func() Handler { return new(chaos.Chaos) }, "cookie": func() Handler { return new(cookie.Cookie) }, "dbfile": func() Handler { return new(dbfile.Dbfile) }, "dbhost": func() Handler { return new(dbhost.Dbhost) }, "dbsqlite": func() Handler { return new(dbsqlite.Dbsqlite) }, "drunk": func() Handler { return new(drunk.Drunk) }, "geoip": func() Handler { return new(geoip.Geoip) }, "log": func() Handler { return new(log.Log) }, "metrics": func() Handler { return new(metrics.Metrics) }, "msgcache": func() Handler { return new(msgcache.Msgcache) }, "nsid": func() Handler { return new(nsid.Nsid) }, "refuse": func() Handler { return new(refuse.Refuse) }, "sign": func() Handler { return new(sign.Sign) }, "template": func() Handler { return new(template.Template) }, "unpack": func() Handler { return new(unpack.Unpack) }, "url": func() Handler { return new(url.Url) }, "whoami": func() Handler { return new(whoami.Whoami) }, "yes": func() Handler { return new(yes.Yes) }, }
StringToHandler is a map of strings to a handler creation function.
Functions ¶
func Compile ¶
func Compile(hs []Handler) dns.HandlerFunc
Compile takes the Handlers hs and creates a wrapped handle func.
Types ¶
type Handler ¶
type Handler interface {
HandlerFunc(next dns.HandlerFunc) dns.HandlerFunc
Err(error) error
}
A Handler is a dns.HandlerFunc that has a handler func (the next when to call in the middleware stack) as input and returns a handle func which is the handler itself.
There are several types of handlers that you can implement, handlers that:
type Setupper ¶
type Setupper interface {
Setup(co *dnsserver.Controller) error
}
Setupper holds a single method that is called when this Handler has configuration that needs to be parsed from the config file. The co's Global holds the server's global config.
Click to show internal directories.
Click to hide internal directories.