|
1 | 1 | package internal |
2 | 2 |
|
3 | 3 | import ( |
4 | | - "fmt" |
5 | | - "net" |
6 | | - "strconv" |
7 | | - "strings" |
| 4 | + "fmt" |
| 5 | + "net" |
| 6 | + "strconv" |
| 7 | + "strings" |
8 | 8 | ) |
9 | 9 |
|
10 | 10 | func ResolveLocalTCPAddress(addr string) (*net.TCPAddr, error) { |
11 | | - // Resolve the local address into IP address and the given port if any |
12 | | - host, port, err := net.SplitHostPort(addr) |
13 | | - if err != nil { |
14 | | - if !strings.Contains(err.Error(), "missing port") { |
15 | | - return nil, fmt.Errorf("invalid local address: %w", err) |
16 | | - } |
17 | | - host = addr |
18 | | - } |
19 | | - local, err := net.ResolveIPAddr("ip", host) |
20 | | - if err != nil { |
21 | | - return nil, fmt.Errorf("cannot resolve local address: %w", err) |
22 | | - } |
| 11 | + // Resolve the local address into IP address and the given port if any |
| 12 | + host, port, err := net.SplitHostPort(addr) |
| 13 | + if err != nil { |
| 14 | + if !strings.Contains(err.Error(), "missing port") { |
| 15 | + return nil, fmt.Errorf("invalid local address: %w", err) |
| 16 | + } |
| 17 | + host = addr |
| 18 | + } |
| 19 | + local, err := net.ResolveIPAddr("ip", host) |
| 20 | + if err != nil { |
| 21 | + return nil, fmt.Errorf("cannot resolve local address: %w", err) |
| 22 | + } |
23 | 23 |
|
24 | | - var portNo int |
25 | | - if port != "" { |
26 | | - p, err := strconv.ParseUint(port, 10, 16) |
27 | | - if err != nil { |
28 | | - return nil, fmt.Errorf("invalid port: %w", err) |
29 | | - } |
30 | | - portNo = int(p) |
31 | | - } |
| 24 | + var portNo int |
| 25 | + if port != "" { |
| 26 | + p, err := strconv.ParseUint(port, 10, 16) |
| 27 | + if err != nil { |
| 28 | + return nil, fmt.Errorf("invalid port: %w", err) |
| 29 | + } |
| 30 | + portNo = int(p) |
| 31 | + } |
32 | 32 |
|
33 | | - return &net.TCPAddr{IP: local.IP, Port: portNo, Zone: local.Zone}, nil |
| 33 | + return &net.TCPAddr{IP: local.IP, Port: portNo, Zone: local.Zone}, nil |
34 | 34 | } |
0 commit comments