diff --git a/clientconn.go b/clientconn.go index 2dfffcdf3e9..89f43edfc83 100644 --- a/clientconn.go +++ b/clientconn.go @@ -1694,6 +1694,6 @@ func parseTarget(target string) (resolver.Target, error) { Scheme: u.Scheme, Authority: u.Host, Endpoint: endpoint, - ParsedURL: u, + ParsedURL: *u, }, nil } diff --git a/internal/resolver/unix/unix.go b/internal/resolver/unix/unix.go index 25eef3c4680..e43a68c3b22 100644 --- a/internal/resolver/unix/unix.go +++ b/internal/resolver/unix/unix.go @@ -43,9 +43,6 @@ func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, _ resolv // resolver implementations we ended up stripping the leading "/" from the // endpoint. This obviously does not work for the "unix" scheme. Hence we // end up using the parsed URL instead. - if target.ParsedURL == nil { - return nil, fmt.Errorf("nil ParsedURL in received target: %+v", target) - } endpoint := target.ParsedURL.Path if endpoint == "" { endpoint = target.ParsedURL.Opaque diff --git a/resolver/resolver.go b/resolver/resolver.go index 6248c389af6..0ae636fd976 100644 --- a/resolver/resolver.go +++ b/resolver/resolver.go @@ -230,7 +230,7 @@ type Target struct { // added to it if the original dial target contained no scheme or contained // an unregistered scheme. Any query params specified in the original dial // target can be accessed from here. - ParsedURL *url.URL + ParsedURL url.URL } // Builder creates a resolver that will be used to watch name resolution updates.