mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 00:34:24 -04:00
22 lines
426 B
Go
22 lines
426 B
Go
|
|
package middleware
|
||
|
|
|
||
|
|
import "strings"
|
||
|
|
|
||
|
|
type Zones []string
|
||
|
|
|
||
|
|
// Matches checks to see if other matches p.
|
||
|
|
// The match will return the most specific zones
|
||
|
|
// that matches other. The empty string signals a not found
|
||
|
|
// condition.
|
||
|
|
func (z Zones) Matches(qname string) string {
|
||
|
|
zone := ""
|
||
|
|
for _, zname := range z {
|
||
|
|
if strings.HasSuffix(qname, zname) {
|
||
|
|
if len(zname) > len(zone) {
|
||
|
|
zone = zname
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return zone
|
||
|
|
}
|