From 771d3ec4422283936e9893af51bf52bc736cc5b1 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Mon, 26 Apr 2021 08:11:55 +0200 Subject: Allow appending to path --- .../java/ai/vespa/hosted/client/AbstractConfigServerClient.java | 3 ++- .../src/main/java/ai/vespa/hosted/client/ConfigServerClient.java | 6 ++++-- .../main/java/ai/vespa/hosted/client/HttpConfigServerClient.java | 1 - .../java/ai/vespa/hosted/client/HttpConfigServerClientTest.java | 5 +++-- 4 files changed, 9 insertions(+), 6 deletions(-) (limited to 'configserver-client/src') 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 pathSegments = new ArrayList<>(); private HttpEntity entity; private RequestConfig config = ConfigServerClient.defaultRequestConfig; private BiConsumer handler = ConfigServerClient::throwOnError; @@ -129,7 +130,7 @@ public abstract class AbstractConfigServerClient implements ConfigServerClient { @Override public RequestBuilder at(List 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(); -- cgit v1.2.3