diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-04-26 08:11:55 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-04-26 08:11:55 +0200 |
commit | 771d3ec4422283936e9893af51bf52bc736cc5b1 (patch) | |
tree | ffd13dc5481ed7744539b946ed1233161f8160a4 | |
parent | c0b637dd81754665a014eba3794f31f7fd432d52 (diff) |
Allow appending to path
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(); |