1
0
Fork 0
mirror of https://gitlab.com/pnx-tools/dns-updater.git synced 2026-06-16 05:54:56 +02:00
dns-updater/ip/resolver/service.go

28 lines
503 B
Go

package lookup
import (
"context"
"net"
"time"
"dnsupdater/ip"
)
type Service interface {
Name() string
Lookup(ctx context.Context) (net.IP, error)
}
const WAN_IFACE = "wan"
func LookupWrapper(service Service) ip.NetInterfaceIPResolver {
return func(iface_name string) (net.IP, error) {
if iface_name == WAN_IFACE {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
defer cancel()
return service.Lookup(ctx)
}
return ip.GetInterfaceIP(iface_name)
}
}