From 33b28de3c3a1e2c6cb81398dbe5c95e0193610d1 Mon Sep 17 00:00:00 2001 From: Armon Dadgar Date: Thu, 23 Jan 2014 13:07:13 -0800 Subject: [PATCH] Resolver uses net.IP --- resolver.go | 10 +++++++--- resolver_test.go | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/resolver.go b/resolver.go index 6654779..2aadd05 100644 --- a/resolver.go +++ b/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 } diff --git a/resolver_test.go b/resolver_test.go index 31ace24..4ac3c0e 100644 --- a/resolver_test.go +++ b/resolver_test.go @@ -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") } }