Cleanup usages of resolver.Target's Scheme and Authority (#5761)

This commit is contained in:
littlejian 2022-11-10 15:06:01 +08:00 committed by GitHub
parent 5331dbd3ab
commit 689d061d46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 6 deletions

View File

@ -140,10 +140,10 @@ func (b *dnsBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts
disableServiceConfig: opts.DisableServiceConfig,
}
if target.Authority == "" {
if target.URL.Host == "" {
d.resolver = defaultResolver
} else {
d.resolver, err = customAuthorityResolver(target.Authority)
d.resolver, err = customAuthorityResolver(target.URL.Host)
if err != nil {
return nil, err
}

View File

@ -23,6 +23,7 @@ import (
"errors"
"fmt"
"net"
"net/url"
"os"
"reflect"
"strings"
@ -1439,7 +1440,12 @@ func TestCustomAuthority(t *testing.T) {
b := NewBuilder()
cc := &testClientConn{target: "foo.bar.com", errChan: make(chan error, 1)}
r, err := b.Build(resolver.Target{Endpoint: "foo.bar.com", Authority: a.authority}, cc, resolver.BuildOptions{})
target := resolver.Target{
Endpoint: "foo.bar.com",
Authority: a.authority,
URL: url.URL{Host: a.authority},
}
r, err := b.Build(target, cc, resolver.BuildOptions{})
if err == nil {
r.Close()

View File

@ -34,8 +34,8 @@ type builder struct {
}
func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, _ resolver.BuildOptions) (resolver.Resolver, error) {
if target.Authority != "" {
return nil, fmt.Errorf("invalid (non-empty) authority: %v", target.Authority)
if target.URL.Host != "" {
return nil, fmt.Errorf("invalid (non-empty) authority: %v", target.URL.Host)
}
// gRPC was parsing the dial target manually before PR #4817, and we

View File

@ -416,7 +416,7 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error)
ctx = trace.NewContext(ctx, trInfo.tr)
}
if cs.cc.parsedTarget.Scheme == "xds" {
if cs.cc.parsedTarget.URL.Scheme == "xds" {
// Add extra metadata (metadata that will be added by transport) to context
// so the balancer can see them.
ctx = grpcutil.WithExtraMetadata(ctx, metadata.Pairs(