Use type switch instead of .Network for more reliably detecting UnixAddrs

This commit is contained in:
Matt Keeler 2018-07-12 07:30:17 -04:00
parent 700a275ddf
commit 22e4058893
1 changed files with 11 additions and 7 deletions

View File

@ -1202,14 +1202,18 @@ func (c *RuntimeConfig) apiAddresses(maxPerType int) (unixAddrs, httpAddrs, http
unix_count := 0 unix_count := 0
http_count := 0 http_count := 0
for _, addr := range c.HTTPAddrs { for _, addr := range c.HTTPAddrs {
net := addr.Network() switch addr.(type) {
if net == "tcp" && http_count < maxPerType { case *net.UnixAddr:
httpAddrs = append(httpAddrs, addr.String()) if unix_count < maxPerType {
http_count += 1
} else if net != "tcp" && unix_count < maxPerType {
unixAddrs = append(unixAddrs, addr.String()) unixAddrs = append(unixAddrs, addr.String())
unix_count += 1 unix_count += 1
} }
default:
if http_count < maxPerType {
httpAddrs = append(httpAddrs, addr.String())
http_count += 1
}
}
} }
} }