From 28f3b2367b28ab342b511d378479a8d81378584d Mon Sep 17 00:00:00 2001 From: Yuri Golobokov Date: Tue, 10 Mar 2026 22:13:48 +0000 Subject: [PATCH] chore: extract channel builder for internal use --- .../InstantiatingGrpcChannelProvider.java | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java index 993a56bcc7..d1df633271 100644 --- a/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java +++ b/gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc/InstantiatingGrpcChannelProvider.java @@ -693,13 +693,8 @@ ChannelCredentials createS2ASecuredChannelCredentials() { return s2aChannelCredentials; } - private ManagedChannel createSingleChannel() throws IOException { - GrpcHeaderInterceptor headerInterceptor = - new GrpcHeaderInterceptor(headersWithDuplicatesRemoved); - - GrpcMetadataHandlerInterceptor metadataHandlerInterceptor = - new GrpcMetadataHandlerInterceptor(); - + @InternalApi("For internal use by google-cloud-java clients only") + public ManagedChannelBuilder createChannelBuilder() throws IOException { int colon = endpoint.lastIndexOf(':'); if (colon < 0) { throw new IllegalStateException("invalid endpoint - should have been validated: " + endpoint); @@ -775,8 +770,19 @@ private ManagedChannel createSingleChannel() throws IOException { // See https://github.com/googleapis/gapic-generator/issues/2816 builder.disableServiceConfigLookUp(); } - builder = - builder + return builder; + } + + @InternalApi("For internal use by google-cloud-java clients only") + public ManagedChannelBuilder createDecoratedChannelBuilder() throws IOException { + GrpcHeaderInterceptor headerInterceptor = + new GrpcHeaderInterceptor(headersWithDuplicatesRemoved); + + GrpcMetadataHandlerInterceptor metadataHandlerInterceptor = + new GrpcMetadataHandlerInterceptor(); + + ManagedChannelBuilder builder = + createChannelBuilder() .intercept(new GrpcChannelUUIDInterceptor()) .intercept(new GrpcLoggingInterceptor()) .intercept(headerInterceptor) @@ -806,6 +812,12 @@ private ManagedChannel createSingleChannel() throws IOException { builder = channelConfigurator.apply(builder); } + return builder; + } + + private ManagedChannel createSingleChannel() throws IOException { + ManagedChannelBuilder builder = createDecoratedChannelBuilder(); + ManagedChannel managedChannel = builder.build(); if (channelPrimer != null) { channelPrimer.primeChannel(managedChannel);