aboutsummaryrefslogtreecommitdiffstats
path: root/configserver-client
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-04-26 08:11:55 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-04-26 08:11:55 +0200
commit771d3ec4422283936e9893af51bf52bc736cc5b1 (patch)
treeffd13dc5481ed7744539b946ed1233161f8160a4 /configserver-client
parentc0b637dd81754665a014eba3794f31f7fd432d52 (diff)
Allow appending to path
Diffstat (limited to 'configserver-client')
-rw-r--r--configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java3
-rw-r--r--configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java6
-rw-r--r--configserver-client/src/main/java/ai/vespa/hosted/client/HttpConfigServerClient.java1
-rw-r--r--configserver-client/src/test/java/ai/vespa/hosted/client/HttpConfigServerClientTest.java5
4 files changed, 9 insertions, 6 deletions
diff --git a/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java b/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java
index d467402f79f..ceaf962d36b 100644
--- a/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java
+++ b/configserver-client/src/main/java/ai/vespa/hosted/client/AbstractConfigServerClient.java
@@ -114,6 +114,7 @@ public abstract class AbstractConfigServerClient implements ConfigServerClient {
private final Method method;
private final HostStrategy hosts;
private final URIBuilder uriBuilder = new URIBuilder();
+ private final List<String> pathSegments = new ArrayList<>();
private HttpEntity entity;
private RequestConfig config = ConfigServerClient.defaultRequestConfig;
private BiConsumer<ClassicHttpResponse, ClassicHttpRequest> handler = ConfigServerClient::throwOnError;
@@ -129,7 +130,7 @@ public abstract class AbstractConfigServerClient implements ConfigServerClient {
@Override
public RequestBuilder at(List<String> pathSegments) {
- uriBuilder.setPathSegments(requireNonNull(pathSegments));
+ this.pathSegments.addAll(pathSegments);
return this;
}
diff --git a/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java b/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java
index c0f72378c1b..61d5e154141 100644
--- a/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java
+++ b/configserver-client/src/main/java/ai/vespa/hosted/client/ConfigServerClient.java
@@ -11,6 +11,7 @@ import org.apache.hc.core5.http.ParseException;
import org.apache.hc.core5.http.io.entity.EntityUtils;
import org.apache.hc.core5.util.Timeout;
+import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.io.UncheckedIOException;
@@ -20,18 +21,19 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import java.util.function.BiConsumer;
+import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.IntStream;
+import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.Objects.requireNonNull;
import static java.util.stream.Collectors.toUnmodifiableList;
/**
* @author jonmv
*/
-public interface ConfigServerClient extends AutoCloseable {
+public interface ConfigServerClient extends Closeable {
RequestConfig defaultRequestConfig = RequestConfig.custom()
.setConnectionRequestTimeout(Timeout.ofSeconds(5))
diff --git a/configserver-client/src/main/java/ai/vespa/hosted/client/HttpConfigServerClient.java b/configserver-client/src/main/java/ai/vespa/hosted/client/HttpConfigServerClient.java
index c5b07eceaf5..e00489f0c64 100644
--- a/configserver-client/src/main/java/ai/vespa/hosted/client/HttpConfigServerClient.java
+++ b/configserver-client/src/main/java/ai/vespa/hosted/client/HttpConfigServerClient.java
@@ -54,7 +54,6 @@ public class HttpConfigServerClient extends AbstractConfigServerClient {
false)
.disableAutomaticRetries()
.setUserAgent(userAgent)
- .setDefaultRequestConfig(defaultRequestConfig)
.build();
}
diff --git a/configserver-client/src/test/java/ai/vespa/hosted/client/HttpConfigServerClientTest.java b/configserver-client/src/test/java/ai/vespa/hosted/client/HttpConfigServerClientTest.java
index 3b46501a4bf..23c22b27de2 100644
--- a/configserver-client/src/test/java/ai/vespa/hosted/client/HttpConfigServerClientTest.java
+++ b/configserver-client/src/test/java/ai/vespa/hosted/client/HttpConfigServerClientTest.java
@@ -70,14 +70,15 @@ class HttpConfigServerClientTest {
server.resetRequests();
// Successful attempt returns.
- server.stubFor(get("/root/boot"))
+ server.stubFor(get("/root/boot/toot"))
.setResponse(okJson("{}").build());
assertEquals("{}",
client.send(HostStrategy.repeating(URI.create("http://localhost:" + server.port()), 10),
Method.GET)
.at("root", "boot")
+ .at("toot")
.read(String::new));
- server.verify(1, getRequestedFor(urlEqualTo("/root/boot")));
+ server.verify(1, getRequestedFor(urlEqualTo("/root/boot/toot")));
server.verify(1, anyRequestedFor(anyUrl()));
server.resetRequests();