Skip to content

Commit 3b58a4f

Browse files
authored
fix: set x-goog-api-client as internal header (#293)
* fix: set x-goog-api-client as internal header * review feedback
1 parent 9ea631a commit 3b58a4f

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,8 @@ private Builder() {
519519
setTransportChannelProvider(defaultTransportChannelProvider());
520520
setStreamWatchdogCheckInterval(baseDefaults.getStreamWatchdogCheckInterval());
521521
setStreamWatchdogProvider(baseDefaults.getStreamWatchdogProvider());
522-
setHeaderProvider(BigtableStubSettings.defaultApiClientHeaderProviderBuilder().build());
522+
setInternalHeaderProvider(
523+
BigtableStubSettings.defaultApiClientHeaderProviderBuilder().build());
523524

524525
setTracerFactory(
525526
new OpencensusTracerFactory(

google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
import static com.google.common.truth.Truth.assertThat;
1919

2020
import com.google.api.gax.batching.Batcher;
21+
import com.google.api.gax.rpc.FixedHeaderProvider;
22+
import com.google.api.gax.rpc.HeaderProvider;
2123
import com.google.bigtable.v2.BigtableGrpc;
2224
import com.google.bigtable.v2.CheckAndMutateRowRequest;
2325
import com.google.bigtable.v2.CheckAndMutateRowResponse;
@@ -61,11 +63,14 @@ public class HeadersTest {
6163
private static final String TABLE_NAME =
6264
NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID);
6365
private static final String APP_PROFILE_ID = "fake-profile";
66+
private static final String TEST_FIXED_HEADER_STRING = "test_fixed_header";
6467

6568
private static final Metadata.Key<String> X_GOOG_REQUEST_PARAMS_KEY =
6669
Metadata.Key.of("x-goog-request-params", Metadata.ASCII_STRING_MARSHALLER);
6770
private static final Metadata.Key<String> API_CLIENT_HEADER_KEY =
6871
Metadata.Key.of("x-goog-api-client", Metadata.ASCII_STRING_MARSHALLER);
72+
private static final Metadata.Key<String> TEST_FIXED_HEADER =
73+
Metadata.Key.of(TEST_FIXED_HEADER_STRING, Metadata.ASCII_STRING_MARSHALLER);
6974

7075
private Server server;
7176
private BlockingQueue<Metadata> sentMetadata = new ArrayBlockingQueue<>(10);
@@ -91,9 +96,13 @@ public void setUp() throws Exception {
9196
.setInstanceId(INSTANCE_ID)
9297
.setAppProfileId(APP_PROFILE_ID);
9398

99+
HeaderProvider headerProvider =
100+
FixedHeaderProvider.create(TEST_FIXED_HEADER_STRING, "test_header_value");
101+
94102
// Force immediate flush
95103
settings
96104
.stubSettings()
105+
.setHeaderProvider(headerProvider)
97106
.bulkMutateRowsSettings()
98107
.setBatchingSettings(
99108
settings
@@ -172,6 +181,9 @@ private void verifyHeaderSent() {
172181
assertThat(apiClientValue).containsMatch("gl-java/[.\\d_]+");
173182
assertThat(apiClientValue).containsMatch("gax/[.\\d_]+");
174183
assertThat(apiClientValue).containsMatch("grpc/[.\\d_]+");
184+
185+
String fixedHeader = metadata.get(TEST_FIXED_HEADER);
186+
assertThat(fixedHeader).isEqualTo("test_header_value");
175187
}
176188

177189
private class MetadataInterceptor implements ServerInterceptor {

0 commit comments

Comments
 (0)