lib: Factor out getting IP address from net.Addr (#8538)

... and add fast paths for common cases.
This commit is contained in:
greatroar
2022-09-14 08:44:46 +02:00
committed by GitHub
parent 6e768a8387
commit 8065cf7e97
7 changed files with 26 additions and 29 deletions
+12
View File
@@ -37,3 +37,15 @@ func GetLans() ([]*net.IPNet, error) {
}
return nets, nil
}
func IPFromAddr(addr net.Addr) (net.IP, error) {
switch a := addr.(type) {
case *net.TCPAddr:
return a.IP, nil
case *net.UDPAddr:
return a.IP, nil
default:
host, _, err := net.SplitHostPort(addr.String())
return net.ParseIP(host), err
}
}