com.google.api-client
google-api-client-protobuf
diff --git a/google-api-client-bom/pom.xml b/google-api-client-bom/pom.xml
index 75e975003..656c8aa66 100644
--- a/google-api-client-bom/pom.xml
+++ b/google-api-client-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.api-client
google-api-client-bom
- 2.1.2
+ 2.2.0
pom
Google API Client Library for Java BOM
@@ -63,53 +63,48 @@
com.google.api-client
google-api-client
- 2.1.2
+ 2.2.0
com.google.api-client
google-api-client-android
- 2.1.2
+ 2.2.0
com.google.api-client
google-api-client-appengine
- 2.1.2
+ 2.2.0
com.google.api-client
google-api-client-assembly
- 2.1.2
+ 2.2.0
pom
com.google.api-client
google-api-client-gson
- 2.1.2
+ 2.2.0
com.google.api-client
google-api-client-jackson2
- 2.1.2
-
-
- com.google.api-client
- google-api-client-java6
- 2.1.2
+ 2.2.0
com.google.api-client
google-api-client-protobuf
- 2.1.2
+ 2.2.0
com.google.api-client
google-api-client-servlet
- 2.1.2
+ 2.2.0
com.google.api-client
google-api-client-xml
- 2.1.2
+ 2.2.0
diff --git a/google-api-client-gson/pom.xml b/google-api-client-gson/pom.xml
index 8c8dd5c07..ff54eafda 100644
--- a/google-api-client-gson/pom.xml
+++ b/google-api-client-gson/pom.xml
@@ -4,7 +4,7 @@
com.google.api-client
google-api-client-parent
- 2.1.2
+ 2.2.0
../pom.xml
google-api-client-gson
diff --git a/google-api-client-jackson2/pom.xml b/google-api-client-jackson2/pom.xml
index a7a7c4b2c..859ab90be 100644
--- a/google-api-client-jackson2/pom.xml
+++ b/google-api-client-jackson2/pom.xml
@@ -4,7 +4,7 @@
com.google.api-client
google-api-client-parent
- 2.1.2
+ 2.2.0
../pom.xml
google-api-client-jackson2
diff --git a/google-api-client-java6/pom.xml b/google-api-client-java6/pom.xml
deleted file mode 100644
index 08dfa99cf..000000000
--- a/google-api-client-java6/pom.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
- 4.0.0
-
- com.google.api-client
- google-api-client-parent
- 2.1.2
- ../pom.xml
-
- google-api-client-java6
- Java 6 (and higher) Extensions to the Google API Client Library for Java.
-
-
-
- maven-javadoc-plugin
-
-
- http://download.oracle.com/javase/7/docs/api/
- https://googleapis.dev/java/google-http-client/${project.http.version}/
-
- ${project.name} ${project.version}
- ${project.artifactId} ${project.version}
-
-
-
- maven-jar-plugin
-
-
- ${project.build.outputDirectory}/META-INF/MANIFEST.MF
-
- true
-
-
- google.api.client.java6
-
-
-
-
-
- org.apache.felix
- maven-bundle-plugin
- 5.1.8
-
-
- bundle-manifest
- process-classes
-
- manifest
-
-
-
-
-
- https://googleapis.dev/java/google-api-client/${project.version}/index.html
- Java 6 extensions to the Google APIs Client Library for Java
- com.google.api.client.java6
-
-
-
-
- maven-source-plugin
-
-
- source-jar
- compile
-
- jar
-
-
-
-
-
-
- org.codehaus.mojo
- animal-sniffer-maven-plugin
-
-
- org.codehaus.mojo.signature
- java17
- 1.0
-
-
-
-
-
-
-
- com.google.api-client
- google-api-client
-
-
- com.google.oauth-client
- google-oauth-client-java6
-
-
-
diff --git a/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/GooglePromptReceiver.java b/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/GooglePromptReceiver.java
deleted file mode 100644
index 4e8e580c9..000000000
--- a/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/GooglePromptReceiver.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.google.api.client.googleapis.extensions.java6.auth.oauth2;
-
-import com.google.api.client.extensions.java6.auth.oauth2.AbstractPromptReceiver;
-import com.google.api.client.googleapis.auth.oauth2.GoogleOAuthConstants;
-import java.io.IOException;
-
-/**
- * Google OAuth 2.0 abstract verification code receiver that prompts user to paste the code copied
- * from the browser.
- *
- * Implementation is thread-safe.
- *
- * @since 1.11
- * @author Yaniv Inbar
- */
-@Deprecated
-public class GooglePromptReceiver extends AbstractPromptReceiver {
-
- @Override
- public String getRedirectUri() throws IOException {
- return GoogleOAuthConstants.OOB_REDIRECT_URI;
- }
-}
diff --git a/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/package-info.java b/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/package-info.java
deleted file mode 100644
index a07b65a90..000000000
--- a/google-api-client-java6/src/main/java/com/google/api/client/googleapis/extensions/java6/auth/oauth2/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2012 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-/**
- * Google OAuth 2.0 utilities that help simplify the authorization flow on Java 6.
- *
- * @since 1.11
- * @author Yaniv Inbar
- */
-package com.google.api.client.googleapis.extensions.java6.auth.oauth2;
diff --git a/google-api-client-protobuf/pom.xml b/google-api-client-protobuf/pom.xml
index 1f10ce4c6..30d96e61a 100644
--- a/google-api-client-protobuf/pom.xml
+++ b/google-api-client-protobuf/pom.xml
@@ -4,7 +4,7 @@
com.google.api-client
google-api-client-parent
- 2.1.2
+ 2.2.0
../pom.xml
google-api-client-protobuf
diff --git a/google-api-client-servlet/pom.xml b/google-api-client-servlet/pom.xml
index 5ad7b47f7..45ec9d71b 100644
--- a/google-api-client-servlet/pom.xml
+++ b/google-api-client-servlet/pom.xml
@@ -4,7 +4,7 @@
com.google.api-client
google-api-client-parent
- 2.1.2
+ 2.2.0
../pom.xml
google-api-client-servlet
diff --git a/google-api-client-xml/pom.xml b/google-api-client-xml/pom.xml
index 548cbb9e8..be32e6367 100644
--- a/google-api-client-xml/pom.xml
+++ b/google-api-client-xml/pom.xml
@@ -4,7 +4,7 @@
com.google.api-client
google-api-client-parent
- 2.1.2
+ 2.2.0
../pom.xml
google-api-client-xml
diff --git a/google-api-client/pom.xml b/google-api-client/pom.xml
index 477e89299..3bb3dd0c8 100644
--- a/google-api-client/pom.xml
+++ b/google-api-client/pom.xml
@@ -4,7 +4,7 @@
com.google.api-client
google-api-client-parent
- 2.1.2
+ 2.2.0
../pom.xml
google-api-client
diff --git a/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleOAuthConstants.java b/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleOAuthConstants.java
index 4d780e8da..809c96dda 100644
--- a/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleOAuthConstants.java
+++ b/google-api-client/src/main/java/com/google/api/client/googleapis/auth/oauth2/GoogleOAuthConstants.java
@@ -40,12 +40,5 @@ public class GoogleOAuthConstants {
public static final String DEFAULT_PUBLIC_CERTS_ENCODED_URL =
"https://www.googleapis.com/oauth2/v1/certs";
- /**
- * Redirect URI to use for an installed application as specified in Using OAuth 2.0 for
- * Mobile & Desktop Apps.
- */
- public static final String OOB_REDIRECT_URI = "urn:ietf:wg:oauth:2.0:oob";
-
private GoogleOAuthConstants() {}
}
diff --git a/google-api-client/src/main/java/com/google/api/client/googleapis/services/AbstractGoogleClientRequest.java b/google-api-client/src/main/java/com/google/api/client/googleapis/services/AbstractGoogleClientRequest.java
index 3b8d3cc3d..cd6d12b65 100644
--- a/google-api-client/src/main/java/com/google/api/client/googleapis/services/AbstractGoogleClientRequest.java
+++ b/google-api-client/src/main/java/com/google/api/client/googleapis/services/AbstractGoogleClientRequest.java
@@ -351,15 +351,42 @@ public final MediaHttpUploader getMediaHttpUploader() {
*/
protected final void initializeMediaUpload(AbstractInputStreamContent mediaContent) {
HttpRequestFactory requestFactory = abstractGoogleClient.getRequestFactory();
+ String applicationName = abstractGoogleClient.getApplicationName();
+ HttpRequestInitializer requestInitializer =
+ mediaUploadRequestUserAgentInitializer(applicationName, requestFactory.getInitializer());
this.uploader =
- new MediaHttpUploader(
- mediaContent, requestFactory.getTransport(), requestFactory.getInitializer());
+ new MediaHttpUploader(mediaContent, requestFactory.getTransport(), requestInitializer);
this.uploader.setInitiationRequestMethod(requestMethod);
if (httpContent != null) {
this.uploader.setMetadata(httpContent);
}
}
+ private static HttpRequestInitializer mediaUploadRequestUserAgentInitializer(
+ final String applicationName, final HttpRequestInitializer originalInitializer) {
+ if (applicationName == null) {
+ return originalInitializer;
+ }
+ if (originalInitializer == null) {
+ return new HttpRequestInitializer() {
+ @Override
+ public void initialize(HttpRequest request) {
+ HttpHeaders headers = request.getHeaders();
+ headers.setUserAgent(applicationName);
+ }
+ };
+ } else {
+ return new HttpRequestInitializer() {
+ @Override
+ public void initialize(HttpRequest request) throws IOException {
+ originalInitializer.initialize(request);
+ HttpHeaders headers = request.getHeaders();
+ headers.setUserAgent(applicationName);
+ }
+ };
+ }
+ }
+
/** Returns the media HTTP downloader or {@code null} for none. */
public final MediaHttpDownloader getMediaHttpDownloader() {
return downloader;
diff --git a/google-api-client/src/test/java/com/google/api/client/googleapis/services/AbstractGoogleClientTest.java b/google-api-client/src/test/java/com/google/api/client/googleapis/services/AbstractGoogleClientTest.java
index 2164af792..7d2ff6383 100644
--- a/google-api-client/src/test/java/com/google/api/client/googleapis/services/AbstractGoogleClientTest.java
+++ b/google-api-client/src/test/java/com/google/api/client/googleapis/services/AbstractGoogleClientTest.java
@@ -16,6 +16,7 @@
import com.google.api.client.googleapis.testing.services.MockGoogleClient;
import com.google.api.client.googleapis.testing.services.MockGoogleClientRequest;
import com.google.api.client.http.EmptyContent;
+import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpExecuteInterceptor;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpRequestInitializer;
@@ -33,6 +34,8 @@
import com.google.api.client.util.Key;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
import junit.framework.TestCase;
/**
@@ -132,6 +135,7 @@ private static class MediaTransport extends MockHttpTransport {
int bytesUploaded;
int contentLength = MediaHttpUploader.DEFAULT_CHUNK_SIZE;
boolean contentLengthNotSpecified;
+ List userAgentsRecorded = new ArrayList<>();
protected MediaTransport() {}
@@ -169,6 +173,7 @@ public LowLevelHttpResponse execute() {
String expectedContentRange = "bytes " + bytesRange + "/" + contentLength;
assertEquals(expectedContentRange, getFirstHeaderValue("Content-Range"));
bytesUploaded += MediaHttpUploader.DEFAULT_CHUNK_SIZE;
+ userAgentsRecorded.add(getFirstHeaderValue("User-Agent"));
if (bytesUploaded == contentLength) {
// Return 200 since the upload is complete.
@@ -207,6 +212,32 @@ public void testMediaUpload() throws Exception {
assertEquals("somevalue", result.foo);
}
+ public void testMediaUpload_applicationNameAsUserAgent() throws Exception {
+ MediaTransport fakeTransport = new MediaTransport();
+ String applicationName = "Foo/1.0 (BAR:Baz/1.0) XYZ/1.0";
+ AbstractGoogleClient client =
+ new MockGoogleClient.Builder(
+ fakeTransport, TEST_RESUMABLE_REQUEST_URL, "", JSON_OBJECT_PARSER, null)
+ .setApplicationName(applicationName)
+ .build();
+ InputStream is = new ByteArrayInputStream(new byte[MediaHttpUploader.DEFAULT_CHUNK_SIZE]);
+ InputStreamContent mediaContent = new InputStreamContent(TEST_CONTENT_TYPE, is);
+ mediaContent.setLength(MediaHttpUploader.DEFAULT_CHUNK_SIZE);
+ MockGoogleClientRequest rq =
+ new MockGoogleClientRequest(client, "POST", "", null, A.class);
+
+ rq.initializeMediaUpload(mediaContent);
+ MediaHttpUploader mediaHttpUploader = rq.getMediaHttpUploader();
+ mediaHttpUploader.upload(new GenericUrl(TEST_RESUMABLE_REQUEST_URL));
+
+ assertEquals(1, fakeTransport.userAgentsRecorded.size());
+ for (String userAgent : fakeTransport.userAgentsRecorded) {
+ assertTrue(
+ "UserAgent header does not have expected value in requests",
+ userAgent.contains(applicationName));
+ }
+ }
+
private static class GZipCheckerInitializer implements HttpRequestInitializer {
private boolean gzipDisabled;
diff --git a/pom.xml b/pom.xml
index ecf8edabc..fe6c58dba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.google.api-client
google-api-client-parent
- 2.1.2
+ 2.2.0
pom
Parent for the Google API Client Library for Java
The Google APIs Client Library for Java is a Java client library
@@ -78,7 +78,6 @@
google-api-client-bom
google-api-client-gson
google-api-client-jackson2
- google-api-client-java6
google-api-client-protobuf
google-api-client-xml
@@ -178,11 +177,6 @@
google-api-client-android
${project.version}
-