diff --git a/README.md b/README.md
index 6d377d4ea..756ae7752 100644
--- a/README.md
+++ b/README.md
@@ -31,27 +31,27 @@ If you are using Maven, add this to your pom.xml file
com.google.api
gax
- 1.51.0
+ 1.52.0
com.google.api
gax-grpc
- 1.51.0
+ 1.52.0
```
If you are using Gradle, add this to your dependencies
```Groovy
-compile 'com.google.api:gax:1.51.0',
- 'com.google.api:gax-grpc:1.51.0'
+compile 'com.google.api:gax:1.52.0',
+ 'com.google.api:gax-grpc:1.52.0'
```
If you are using SBT, add this to your dependencies
```Scala
-libraryDependencies += "com.google.api" % "gax" % "1.51.0"
-libraryDependencies += "com.google.api" % "gax-grpc" % "1.51.0"
+libraryDependencies += "com.google.api" % "gax" % "1.52.0"
+libraryDependencies += "com.google.api" % "gax-grpc" % "1.52.0"
```
[//]: # ({x-version-update-end})
diff --git a/benchmark/build.gradle b/benchmark/build.gradle
index 4d26f2ced..c3d6a90e0 100644
--- a/benchmark/build.gradle
+++ b/benchmark/build.gradle
@@ -1,4 +1,4 @@
-project.version = "0.53.0" // {x-version-update:benchmark:current}
+project.version = "0.54.0" // {x-version-update:benchmark:current}
buildscript {
repositories {
diff --git a/build.gradle b/build.gradle
index e02ffc0a1..134142714 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,7 +24,7 @@ apply plugin: 'com.github.sherter.google-java-format'
apply plugin: 'io.codearte.nexus-staging'
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.51.0" // {x-version-update:gax:current}
+project.version = "1.52.0" // {x-version-update:gax:current}
ext {
// Project names not used for release
diff --git a/dependencies.properties b/dependencies.properties
index dc09c4399..46daddf5a 100644
--- a/dependencies.properties
+++ b/dependencies.properties
@@ -8,16 +8,16 @@
# Versions of oneself
# {x-version-update-start:gax:current}
-version.gax=1.51.0
+version.gax=1.52.0
# {x-version-update-end}
# {x-version-update-start:gax:current}
-version.gax_grpc=1.51.0
+version.gax_grpc=1.52.0
# {x-version-update-end}
# {x-version-update-start:gax:current}
-version.gax_bom=1.51.0
+version.gax_bom=1.52.0
# {x-version-update-end}
# {x-version-update-start:gax-httpjson:current}
-version.gax_httpjson=0.68.0
+version.gax_httpjson=0.69.0
# {x-version-update-end}
# Versions for dependencies which actual artifacts differ between Bazel and Gradle.
@@ -34,8 +34,8 @@ version.io_grpc=1.25.0
# 2) Replace all characters which are neither alphabetic nor digits with the underscore ('_') character
maven.com_google_api_grpc_proto_google_common_protos=com.google.api.grpc:proto-google-common-protos:1.15.0
maven.com_google_api_grpc_grpc_google_common_protos=com.google.api.grpc:grpc-google-common-protos:1.15.0
-maven.com_google_auth_google_auth_library_oauth2_http=com.google.auth:google-auth-library-oauth2-http:0.18.0
-maven.com_google_auth_google_auth_library_credentials=com.google.auth:google-auth-library-credentials:0.18.0
+maven.com_google_auth_google_auth_library_oauth2_http=com.google.auth:google-auth-library-oauth2-http:0.19.0
+maven.com_google_auth_google_auth_library_credentials=com.google.auth:google-auth-library-credentials:0.19.0
maven.io_opencensus_opencensus_api=io.opencensus:opencensus-api:0.24.0
maven.io_opencensus_opencensus_contrib_grpc_metrics=io.opencensus:opencensus-contrib-grpc-metrics:0.24.0
maven.io_opencensus_opencensus_contrib_http_util=io.opencensus:opencensus-contrib-http-util:0.24.0
diff --git a/gax-bom/build.gradle b/gax-bom/build.gradle
index 1a180c850..8f1ef567a 100644
--- a/gax-bom/build.gradle
+++ b/gax-bom/build.gradle
@@ -12,7 +12,7 @@ buildscript {
archivesBaseName = "gax-bom"
-project.version = "1.51.0" // {x-version-update:gax-bom:current}
+project.version = "1.52.0" // {x-version-update:gax-bom:current}
ext {
mavenJavaDir = "$project.buildDir/publications/mavenJava"
diff --git a/gax-bom/pom.xml b/gax-bom/pom.xml
index ebf14d885..60eba2416 100644
--- a/gax-bom/pom.xml
+++ b/gax-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.api
gax-bom
- 1.51.0
+ 1.52.0
pom
GAX (Google Api eXtensions) for Java
Google Api eXtensions for Java
@@ -33,34 +33,34 @@
com.google.api
gax
- 1.51.0
+ 1.52.0
com.google.api
gax
- 1.51.0
+ 1.52.0
testlib
com.google.api
gax-grpc
- 1.51.0
+ 1.52.0
com.google.api
gax-grpc
- 1.51.0
+ 1.52.0
testlib
com.google.api
gax-httpjson
- 0.68.0
+ 0.69.0
com.google.api
gax-httpjson
- 0.68.0
+ 0.69.0
testlib
diff --git a/gax-grpc/build.gradle b/gax-grpc/build.gradle
index c937ffcc1..43560a3a4 100644
--- a/gax-grpc/build.gradle
+++ b/gax-grpc/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax-grpc"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.51.0" // {x-version-update:gax-grpc:current}
+project.version = "1.52.0" // {x-version-update:gax-grpc:current}
dependencies {
compile project(':gax'),
diff --git a/gax-httpjson/build.gradle b/gax-httpjson/build.gradle
index 4ff16cb03..7165d1159 100644
--- a/gax-httpjson/build.gradle
+++ b/gax-httpjson/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax-httpjson"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "0.68.0" // {x-version-update:gax-httpjson:current}
+project.version = "0.69.0" // {x-version-update:gax-httpjson:current}
dependencies {
compile project(':gax'),
diff --git a/gax/build.gradle b/gax/build.gradle
index dd73aec4f..8dbec537c 100644
--- a/gax/build.gradle
+++ b/gax/build.gradle
@@ -1,7 +1,7 @@
archivesBaseName = "gax"
// TODO: Populate this from dependencies.properties version property (for proper Gradle-Bazel sync)
-project.version = "1.51.0" // {x-version-update:gax:current}
+project.version = "1.52.0" // {x-version-update:gax:current}
dependencies {
compile libraries['maven.com_google_guava_guava'],
diff --git a/gax/src/main/java/com/google/api/gax/core/GoogleCredentialsProvider.java b/gax/src/main/java/com/google/api/gax/core/GoogleCredentialsProvider.java
index be7c67d40..ddba0331d 100644
--- a/gax/src/main/java/com/google/api/gax/core/GoogleCredentialsProvider.java
+++ b/gax/src/main/java/com/google/api/gax/core/GoogleCredentialsProvider.java
@@ -84,6 +84,7 @@ public Credentials getCredentials() throws IOException {
.setClientId(serviceAccount.getClientId())
.setPrivateKey(serviceAccount.getPrivateKey())
.setPrivateKeyId(serviceAccount.getPrivateKeyId())
+ .setQuotaProjectId(serviceAccount.getQuotaProjectId())
.build();
}
diff --git a/gax/src/main/java/com/google/api/gax/rpc/ApiClientHeaderProvider.java b/gax/src/main/java/com/google/api/gax/rpc/ApiClientHeaderProvider.java
index 3bd76460a..1c0ba4f79 100644
--- a/gax/src/main/java/com/google/api/gax/rpc/ApiClientHeaderProvider.java
+++ b/gax/src/main/java/com/google/api/gax/rpc/ApiClientHeaderProvider.java
@@ -42,6 +42,7 @@
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
public class ApiClientHeaderProvider implements HeaderProvider, Serializable {
private static final long serialVersionUID = -8876627296793342119L;
+ static final String QUOTA_PROJECT_ID_HEADER_KEY = "x-goog-user-project";
private final Map headers;
@@ -65,6 +66,10 @@ protected ApiClientHeaderProvider(Builder builder) {
headersBuilder.put(builder.getResourceHeaderKey(), builder.getResourceToken());
}
+ if (builder.getQuotaProjectIdToken() != null) {
+ headersBuilder.put(QUOTA_PROJECT_ID_HEADER_KEY, builder.getQuotaProjectIdToken());
+ }
+
this.headers = headersBuilder.build();
}
@@ -101,6 +106,7 @@ public static class Builder {
private String generatedLibToken;
private String generatedRuntimeToken;
private String transportToken;
+ private String quotaProjectIdToken;
private String resourceHeaderKey;
private String resourceToken;
@@ -113,6 +119,7 @@ protected Builder() {
generatedLibToken = null;
setClientRuntimeToken(GaxProperties.getGaxVersion());
transportToken = null;
+ quotaProjectIdToken = null;
resourceHeaderKey = getDefaultResourceHeaderKey();
resourceToken = null;
@@ -172,6 +179,17 @@ public Builder setTransportToken(String name, String version) {
return this;
}
+ /** @return the quotaProjectIdToken used for quota and billing purposes. */
+ public String getQuotaProjectIdToken() {
+ return quotaProjectIdToken;
+ }
+
+ /** Sets the project ID used for quota and billing purposes. */
+ public Builder setQuotaProjectIdToken(String quotaProjectIdToken) {
+ this.quotaProjectIdToken = quotaProjectIdToken;
+ return this;
+ }
+
public String getResourceHeaderKey() {
return resourceHeaderKey;
}
diff --git a/gax/src/test/java/com/google/api/gax/rpc/ApiClientHeaderProviderTest.java b/gax/src/test/java/com/google/api/gax/rpc/ApiClientHeaderProviderTest.java
index bc35a2091..f60c3c076 100644
--- a/gax/src/test/java/com/google/api/gax/rpc/ApiClientHeaderProviderTest.java
+++ b/gax/src/test/java/com/google/api/gax/rpc/ApiClientHeaderProviderTest.java
@@ -123,4 +123,19 @@ public void testCustomHeaderKeys() {
.matches("^gl-java/.* gapic/4\\.5\\.6 gax/.* grpc/1\\.2\\.3$");
assertThat(provider.getHeaders().get("custom-header2")).isEqualTo("test-prefix");
}
+
+ @Test
+ public void testQuotaProjectHeader() {
+ String quotaProjectHeaderValue = "quota-project-id-value";
+ ApiClientHeaderProvider provider =
+ ApiClientHeaderProvider.newBuilder()
+ .setClientLibToken("gccl", "1.2.3")
+ .setQuotaProjectIdToken(quotaProjectHeaderValue)
+ .build();
+ assertThat(provider.getHeaders().size()).isEqualTo(2);
+ assertThat(provider.getHeaders().get(X_GOOG_API_CLIENT))
+ .matches("^gl-java/.* gccl/1\\.2\\.3 gax/.*$");
+ assertThat(provider.getHeaders().get(ApiClientHeaderProvider.QUOTA_PROJECT_ID_HEADER_KEY))
+ .matches(quotaProjectHeaderValue);
+ }
}
diff --git a/samples/pom.xml b/samples/pom.xml
index 8268d93b4..672e27e24 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -14,13 +14,13 @@
com.google.api
gax
- 1.51.0
+ 1.52.0
com.google.api
gax-grpc
- 1.51.0
+ 1.52.0
com.google.auto.value
diff --git a/versions.txt b/versions.txt
index 680d81a35..e500fd01c 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,8 +1,8 @@
# Format:
# module:released-version:current-version
-gax:1.51.0:1.51.0
-gax-bom:1.51.0:1.51.0
-gax-grpc:1.51.0:1.51.0
-gax-httpjson:0.68.0:0.68.0
-benchmark:0.53.0:0.53.0
+gax:1.52.0:1.52.0
+gax-bom:1.52.0:1.52.0
+gax-grpc:1.52.0:1.52.0
+gax-httpjson:0.69.0:0.69.0
+benchmark:0.54.0:0.54.0