in src/main/java/com/google/devtools/build/remote/client/GoogleAuthUtils.java [49:75]
public static ManagedChannel newChannel(String target, AuthAndTLSOptions options)
throws IOException {
Preconditions.checkNotNull(target);
Preconditions.checkNotNull(options);
final SslContext sslContext =
options.tlsEnabled ? createSSlContext(options.tlsCertificate) : null;
try {
NettyChannelBuilder builder =
NettyChannelBuilder.forTarget(target)
.negotiationType(options.tlsEnabled ? NegotiationType.TLS : NegotiationType.PLAINTEXT)
.defaultLoadBalancingPolicy("round_robin");
if (sslContext != null) {
builder.sslContext(sslContext);
if (options.tlsAuthorityOverride != null) {
builder.overrideAuthority(options.tlsAuthorityOverride);
}
}
return builder.build();
} catch (RuntimeException e) {
// gRPC might throw all kinds of RuntimeExceptions: StatusRuntimeException,
// IllegalStateException, NullPointerException, ...
String message = "Failed to connect to '%s': %s";
throw new IOException(String.format(message, target, e.getMessage()));
}
}