| 260 | } |
| 261 | |
| 262 | func resolveDomain(hostname string) (string, error) { |
| 263 | ipAddress := net.ParseIP(hostname) |
| 264 | log.Debug("parse ip", "hostname", hostname, "ipAddress", ipAddress) |
| 265 | if ipAddress != nil { |
| 266 | return ipAddress.String(), nil |
| 267 | } |
| 268 | addr, err := net.LookupHost(hostname) |
| 269 | if err != nil { |
| 270 | log.Error("lookup host error", "hostname", hostname, "err", err) |
| 271 | return "", err |
| 272 | } |
| 273 | if len(addr) > 0 { |
| 274 | return addr[0], nil |
| 275 | } |
| 276 | return "", fmt.Errorf("invalid host: %v", err) |
| 277 | } |
| 278 | |
| 279 | func ResolveUrl(url string) (string, error) { |
| 280 | host, port, err := net.SplitHostPort(url[7:]) |