From c349446a23440b336f4ca21900cce4d6a031cdf5 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Wed, 19 Sep 2018 07:29:37 +0100 Subject: Cleanup ParseHostOrFile (#2100) Create plugin/pkg/transport that holds the transport related functions. This needed to be a new pkg to prevent cyclic import errors. This cleans up a bunch of duplicated code in core/dnsserver that also tried to parse a transport (now all done in transport.Parse). Signed-off-by: Miek Gieben --- plugin/normalize.go | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) (limited to 'plugin/normalize.go') diff --git a/plugin/normalize.go b/plugin/normalize.go index e44e55385..e38d5fa08 100644 --- a/plugin/normalize.go +++ b/plugin/normalize.go @@ -6,6 +6,8 @@ import ( "strconv" "strings" + "github.com/coredns/coredns/plugin/pkg/transport" + "github.com/miekg/dns" ) @@ -61,22 +63,10 @@ type ( // Normalize will return the host portion of host, stripping // of any port or transport. The host will also be fully qualified and lowercased. func (h Host) Normalize() string { - s := string(h) + _, s = transport.Parse(s) - switch { - case strings.HasPrefix(s, TransportTLS+"://"): - s = s[len(TransportTLS+"://"):] - case strings.HasPrefix(s, TransportDNS+"://"): - s = s[len(TransportDNS+"://"):] - case strings.HasPrefix(s, TransportGRPC+"://"): - s = s[len(TransportGRPC+"://"):] - case strings.HasPrefix(s, TransportHTTPS+"://"): - s = s[len(TransportHTTPS+"://"):] - } - - // The error can be ignore here, because this function is called after the corefile - // has already been vetted. + // The error can be ignore here, because this function is called after the corefile has already been vetted. host, _, _, _ := SplitHostPort(s) return Name(host).Normalize() } @@ -138,11 +128,3 @@ func SplitHostPort(s string) (host, port string, ipnet *net.IPNet, err error) { } return host, port, n, nil } - -// Duplicated from core/dnsserver/address.go ! -const ( - TransportDNS = "dns" - TransportTLS = "tls" - TransportGRPC = "grpc" - TransportHTTPS = "https" -) -- cgit v1.2.3