report client version in user agent header during update checks [ci skip]

This commit is contained in:
Sebastian Stenzel
2016-01-29 01:11:13 +01:00
parent 56fcb99248
commit 8784115c75
2 changed files with 10 additions and 2 deletions

View File

@@ -8,6 +8,7 @@
*******************************************************************************/
package org.cryptomator.filesystem.inmem;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.time.Instant;
@@ -47,7 +48,7 @@ class InMemoryNode implements Node {
@Override
public Instant lastModified() {
if (!exists()) {
throw new UncheckedIOException(new IOException("File does not exist"));
throw new UncheckedIOException(new FileNotFoundException("File does not exist"));
}
return lastModified;
}

View File

@@ -14,6 +14,7 @@ import java.net.URL;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.ResourceBundle;
import java.util.concurrent.ExecutorService;
@@ -26,6 +27,7 @@ import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.ui.settings.Settings;
@@ -138,6 +140,7 @@ public class WelcomeController extends AbstractFXMLViewController {
});
final HttpClient client = new HttpClient();
final HttpMethod method = new GetMethod("https://cryptomator.org/downloads/latestVersion.json");
client.getParams().setParameter(HttpClientParams.USER_AGENT, "Cryptomator VersionChecker/" + applicationVersion().orElse("SNAPSHOT"));
client.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
client.getParams().setConnectionManagerTimeout(5000);
try {
@@ -161,6 +164,10 @@ public class WelcomeController extends AbstractFXMLViewController {
}
}
private Optional<String> applicationVersion() {
return Optional.ofNullable(getClass().getPackage().getImplementationVersion());
}
private void compareVersions(final Map<String, String> latestVersions) {
final String latestVersion;
if (SystemUtils.IS_OS_MAC_OSX) {
@@ -173,7 +180,7 @@ public class WelcomeController extends AbstractFXMLViewController {
// no version check possible on unsupported OS
return;
}
final String currentVersion = WelcomeController.class.getPackage().getImplementationVersion();
final String currentVersion = applicationVersion().orElse(null);
LOG.debug("Current version: {}, lastest version: {}", currentVersion, latestVersion);
if (currentVersion != null && semVerComparator.compare(currentVersion, latestVersion) < 0) {
final String msg = String.format(resourceBundle.getString("welcome.newVersionMessage"), latestVersion, currentVersion);