Authority overwrite only works if TLS is not present
This commit is contained in:
@ -97,6 +97,22 @@ func TestWithAuthority(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestWithAuthorityAndTLS(t *testing.T) {
|
||||||
|
overwriteServerName := "over.write.server.name"
|
||||||
|
creds, err := credentials.NewClientTLSFromFile(tlsDir+"ca.pem", overwriteServerName)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Failed to create credentials %v", err)
|
||||||
|
}
|
||||||
|
conn, err := Dial("Non-Existent.Server:80", WithTransportCredentials(creds), WithAuthority("no.effect.authority"))
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Dial(_, _) = _, %v, want _, <nil>", err)
|
||||||
|
}
|
||||||
|
conn.Close()
|
||||||
|
if conn.authority != overwriteServerName {
|
||||||
|
t.Fatalf("%v.authority = %v, want %v", conn, conn.authority, overwriteServerName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestDialContextCancel(t *testing.T) {
|
func TestDialContextCancel(t *testing.T) {
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
cancel()
|
cancel()
|
||||||
|
@ -374,7 +374,8 @@ func NewServerTransport(protocol string, conn net.Conn, config *ServerConfig) (S
|
|||||||
type ConnectOptions struct {
|
type ConnectOptions struct {
|
||||||
// UserAgent is the application user agent.
|
// UserAgent is the application user agent.
|
||||||
UserAgent string
|
UserAgent string
|
||||||
// Authority is the :authority pseudo-header to use.
|
// Authority is the :authority pseudo-header to use. This field has no effect if
|
||||||
|
// TransportCredentials is set.
|
||||||
Authority string
|
Authority string
|
||||||
// Dialer specifies how to dial a network address.
|
// Dialer specifies how to dial a network address.
|
||||||
Dialer func(context.Context, string) (net.Conn, error)
|
Dialer func(context.Context, string) (net.Conn, error)
|
||||||
|
Reference in New Issue
Block a user