Skip to content

Commit 758f3f2

Browse files
committed
feat(common): Retrieve User-Agent from core and append to current package version for full value
1 parent 009a67f commit 758f3f2

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.ibm.watson.common;
2+
3+
import com.ibm.cloud.sdk.core.http.HttpHeaders;
4+
import com.ibm.cloud.sdk.core.util.RequestUtils;
5+
6+
import java.io.InputStream;
7+
import java.util.HashMap;
8+
import java.util.Map;
9+
import java.util.Properties;
10+
import java.util.logging.Level;
11+
import java.util.logging.Logger;
12+
13+
public class SdkCommon {
14+
private static final Logger LOG = Logger.getLogger(SdkCommon.class.getName());
15+
16+
private static String loadSdkVersion() {
17+
ClassLoader classLoader = SdkCommon.class.getClassLoader();
18+
InputStream inputStream = classLoader.getResourceAsStream("java-sdk-version.properties");
19+
Properties properties = new Properties();
20+
21+
try {
22+
properties.load(inputStream);
23+
} catch (Exception e) {
24+
LOG.log(Level.WARNING, "Could not load java-sdk-version.properties", e);
25+
}
26+
27+
return properties.getProperty("version", "unknown-version");
28+
}
29+
30+
private static String getUserAgent() {
31+
return "watson-apis-java-sdk/" + loadSdkVersion() + "; " + RequestUtils.getUserAgent();
32+
}
33+
34+
public static Map<String, String> getDefaultHeaders(String serviceName, String serviceVersion, String operationId) {
35+
Map<String, String> headers = new HashMap<>();
36+
37+
String sdkAnalyticsHeaderValue = String.format(
38+
"service_name=%s;service_version=%s;operation_id=%s",
39+
serviceName,
40+
serviceVersion,
41+
operationId
42+
);
43+
44+
headers.put(HttpHeaders.X_IBMCLOUD_SDK_ANALYTICS, sdkAnalyticsHeaderValue);
45+
headers.put(HttpHeaders.USER_AGENT, getUserAgent());
46+
return headers;
47+
}
48+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
version=@pom.version@

0 commit comments

Comments
 (0)