allow callers of BlockingDial to override grpc.FailOnNonTempDialError dial option

This commit is contained in:
Josh Humphries 2021-07-12 14:38:00 -04:00
parent f1d396c31e
commit 075f41ddb8
1 changed files with 7 additions and 5 deletions

View File

@ -635,11 +635,13 @@ func BlockingDial(ctx context.Context, network, address string, creds credential
// know when we're done. So we run it in a goroutine and then use result
// channel to either get the connection or fail-fast.
go func() {
opts = append(opts,
grpc.WithBlock(),
grpc.FailOnNonTempDialError(true),
grpc.WithContextDialer(dialer),
)
// We put grpc.FailOnNonTempDialError *before* the explicitly provided
// options so that it could be overridden.
opts = append([]grpc.DialOption{grpc.FailOnNonTempDialError(true)}, opts...)
// But we don't want caller to be able to override these two, so we put
// them *after* the explicitly provided options.
opts = append(opts, grpc.WithBlock(), grpc.WithContextDialer(dialer))
if creds == nil {
opts = append(opts, grpc.WithInsecure())
} else {