Resolver uses net.IP
parent
d543a0147b
commit
33b28de3c3
10
resolver.go
10
resolver.go
|
@ -6,12 +6,16 @@ import (
|
|||
|
||||
// NameResolver is used to implement custom name resolution
|
||||
type NameResolver interface {
|
||||
Resolve(name string) (*net.IPAddr, error)
|
||||
Resolve(name string) (net.IP, error)
|
||||
}
|
||||
|
||||
// DNSResolver uses the system DNS to resolve host names
|
||||
type DNSResolver struct{}
|
||||
|
||||
func (d DNSResolver) Resolve(name string) (*net.IPAddr, error) {
|
||||
return net.ResolveIPAddr("ip", name)
|
||||
func (d DNSResolver) Resolve(name string) (net.IP, error) {
|
||||
addr, err := net.ResolveIPAddr("ip", name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return addr.IP, err
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ func TestDNSResolver(t *testing.T) {
|
|||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
|
||||
if !addr.IP.IsLoopback() {
|
||||
if !addr.IsLoopback() {
|
||||
t.Fatalf("expected loopback")
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue