diff --git a/acme4j-client/pom.xml b/acme4j-client/pom.xml index e6993c23..966a6580 100644 --- a/acme4j-client/pom.xml +++ b/acme4j-client/pom.xml @@ -28,6 +28,18 @@ acme4j Client ACME client for Java + + + + src/main/resources + + + src/main/resources-filtered + true + + + + org.bitbucket.b_c diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/connector/HttpConnector.java b/acme4j-client/src/main/java/org/shredzone/acme4j/connector/HttpConnector.java index 6cac79b0..78073734 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/connector/HttpConnector.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/connector/HttpConnector.java @@ -16,6 +16,7 @@ package org.shredzone.acme4j.connector; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URI; +import java.util.Properties; /** * A generic HTTP connector. It connects to the given URI with a 10 seconds connection and @@ -27,6 +28,22 @@ import java.net.URI; public class HttpConnector { private static final int TIMEOUT = 10000; + private static final String USER_AGENT; + + static { + StringBuilder agent = new StringBuilder("acme4j"); + try { + Properties prop = new Properties(); + prop.load(HttpConnector.class.getResourceAsStream("/org/shredzone/acme4j/version.properties")); + agent.append('/').append(prop.getProperty("version")); + } catch (IOException ex) { + // Ignore, just don't use a version + } + + agent.append(" Java/").append(System.getProperty("java.version")); + + USER_AGENT = agent.toString(); + } /** * Opens a {@link HttpURLConnection} to the given {@link URI}. @@ -40,7 +57,7 @@ public class HttpConnector { conn.setConnectTimeout(TIMEOUT); conn.setReadTimeout(TIMEOUT); conn.setUseCaches(false); - conn.setRequestProperty("User-Agent", "acme4j"); + conn.setRequestProperty("User-Agent", USER_AGENT); return conn; } diff --git a/acme4j-client/src/main/resources-filtered/org/shredzone/acme4j/version.properties b/acme4j-client/src/main/resources-filtered/org/shredzone/acme4j/version.properties new file mode 100644 index 00000000..e5683df8 --- /dev/null +++ b/acme4j-client/src/main/resources-filtered/org/shredzone/acme4j/version.properties @@ -0,0 +1 @@ +version=${project.version} \ No newline at end of file