| 123456789101112131415161718192021222324252627282930313233 |
- package util
- import (
- "log"
- "net"
- "net/netip"
- )
- // addrToIP attempts to extract a net.IP from a net.Addr
- func AddrToIP(addr net.Addr) net.IP {
- switch v := addr.(type) {
- case *net.TCPAddr:
- return v.IP
- case *net.UDPAddr:
- return v.IP
- case *net.IPAddr:
- return v.IP
- default:
- // Handle other potential net.Addr implementations or return nil
- return nil
- }
- }
- func StrToIP(input string) net.IP {
- addrPort, err := netip.ParseAddrPort(input)
- if err != nil {
- log.Println("[netip.ParseAddrPort ERROR]", err)
- return nil
- }
- ip := addrPort.Addr()
- return ip.AsSlice()
- }
|