summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-03-06 09:57:04 +0100
committerMartin Polden <mpolden@mpolden.no>2018-03-06 09:57:04 +0100
commitf578d34f70bf844a1ae032a8eed7a0f658512891 (patch)
treeb183b4327e8861ffdee3ba9e0bc603e1034e5b7c /configserver
parent740ac77765fc90ad412b2acfea45dafd824581d6 (diff)
Set user agent for client used in service view
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/serviceview/StateResource.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/serviceview/StateResource.java b/configserver/src/main/java/com/yahoo/vespa/serviceview/StateResource.java
index d1e9ed93679..a6d4c229500 100644
--- a/configserver/src/main/java/com/yahoo/vespa/serviceview/StateResource.java
+++ b/configserver/src/main/java/com/yahoo/vespa/serviceview/StateResource.java
@@ -15,8 +15,10 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.ClientRequestFilter;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
import java.net.URI;
@@ -26,6 +28,8 @@ import java.util.List;
import java.util.ListIterator;
import java.util.Map;
+import static java.util.Collections.singletonList;
+
/**
* A web service to discover and proxy Vespa service state info.
@@ -35,6 +39,7 @@ import java.util.Map;
@Path("/")
public class StateResource implements StateClient {
+ private static final String USER_AGENT = "service-view-config-server-client";
private static final String SINGLE_API_LINK = "url";
private final int restApiPort;
@@ -102,7 +107,7 @@ public class StateResource implements StateClient {
ServiceModel model = new ServiceModel(getModelConfig(tenantName, applicationName, environmentName, regionName, instanceName));
Service s = model.getService(identifier);
int requestedPort = s.matchIdentifierWithPort(identifier);
- Client client = ClientBuilder.newClient();
+ Client client = client();
try {
final StringBuilder uriBuffer = new StringBuilder("http://").append(s.host).append(':').append(requestedPort).append('/')
.append(apiParams);
@@ -126,7 +131,7 @@ public class StateResource implements StateClient {
}
protected ModelResponse getModelConfig(String tenant, String application, String environment, String region, String instance) {
- Client client = ClientBuilder.newClient();
+ Client client = client();
try {
WebTarget target = client.target("http://" + host + ":" + restApiPort + "/");
ConfigClient resource = WebResourceFactory.newResource(ConfigClient.class, target);
@@ -151,7 +156,7 @@ public class StateResource implements StateClient {
ServiceModel model = new ServiceModel(getModelConfig(tenantName, applicationName, environmentName, regionName, instanceName));
Service s = model.getService(identifier);
int requestedPort = s.matchIdentifierWithPort(identifier);
- Client client = ClientBuilder.newClient();
+ Client client = client();
try {
HealthClient resource = getHealthClient(apiParams, s, requestedPort, client);
HashMap<?, ?> apiResult = resource.getHealthInfo();
@@ -273,4 +278,11 @@ public class StateResource implements StateClient {
newUri.append(link.getRawPath());
}
+ private static Client client() {
+ return ClientBuilder.newBuilder()
+ .register((ClientRequestFilter) ctx -> ctx.getHeaders().put(HttpHeaders.USER_AGENT,
+ singletonList(USER_AGENT)))
+ .build();
+ }
+
}