Skip to content

Commit d4c71c4

Browse files
committed
Useragent was forcefully overridden to be OpenShift even when something else specified.
Now prefixing with OpenShift- if another agent is specified.
1 parent 231c18d commit d4c71c4

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

src/main/java/com/openshift/client/IHttpClient.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ public interface IHttpClient {
5252

5353
public void setUserAgent(String userAgent);
5454

55+
public String getUserAgent();
56+
5557
public void setVersion(String serviceVersion);
5658

5759
public String get(URL url) throws HttpClientException, SocketTimeoutException;

src/main/java/com/openshift/internal/client/httpclient/UrlConnectionHttpClient.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ public void setUserAgent(String userAgent) {
106106
this.userAgent = userAgent;
107107
}
108108

109+
public String getUserAgent() {
110+
return userAgent;
111+
}
112+
109113
public void setVersion(String version) {
110114
this.version = version;
111115
}

src/main/java/com/openshift/internal/client/httpclient/UrlConnectionHttpClientBuilder.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,15 @@ public UrlConnectionHttpClientBuilder setVersion(String version) {
6565
}
6666

6767
public IHttpClient client() {
68-
if (authKey != null && authKey.trim().length() > 0)
69-
userAgent = "OpenShift";
70-
return new UrlConnectionHttpClient(username, password, userAgent, sslChecks, requestMediaType,
71-
acceptedMediaType, version, authKey, authIV);
68+
if (authKey != null && authKey.trim().length() > 0) {
69+
if (userAgent == null) {
70+
userAgent = "OpenShift";
71+
} else if (!userAgent.startsWith("OpenShift")) {
72+
userAgent = "OpenShift-" + userAgent;
73+
}
74+
}
75+
return new UrlConnectionHttpClient(username, password, userAgent,
76+
sslChecks, requestMediaType, acceptedMediaType, version,
77+
authKey, authIV);
7278
}
7379
}

src/test/java/com/openshift/internal/client/HttpClientTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,24 @@ public void canAcceptJson() throws SocketTimeoutException, HttpClientException,
127127
assertNotNull(response);
128128
assertTrue(response.indexOf(ACCEPT_APPLICATION_JSON) > 0);
129129
}
130+
131+
@Test
132+
public void hasProperAgentWhenUsingKeys() {
133+
httpClient = new UrlConnectionHttpClientBuilder()
134+
.setUserAgent("com.needskey").setCredentials("blah", "bluh", "authkey", "authiv")
135+
.client();
136+
137+
assertEquals("OpenShift-com.needskey", httpClient.getUserAgent());
138+
}
139+
140+
@Test
141+
public void hasProperAgentWhenUsingKeysAndNoAgent() {
142+
httpClient = new UrlConnectionHttpClientBuilder()
143+
.setCredentials("blah", "bluh", "authkey", "authiv")
144+
.client();
145+
146+
assertEquals("OpenShift", httpClient.getUserAgent());
147+
}
130148

131149
@Test
132150
public void shouldEncodeParametersCorrectly() throws HttpClientException, FileNotFoundException, IOException,

0 commit comments

Comments
 (0)