From 2cc42ed9c8172a1ffeffb6cb25e1d5c5c36668af Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Mon, 2 Mar 2020 19:13:16 -0500 Subject: Provide access to HttpClient's WebTarget Issue-ID: POLICY-2349 Signed-off-by: Jim Hahn Change-Id: Iad10c3b6d77f859235c9e63f3fc0693bd9ba3c27 --- .../policy/common/endpoints/http/client/HttpClient.java | 7 +++++++ .../endpoints/http/client/internal/JerseyClient.java | 16 +++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/HttpClient.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/HttpClient.java index 9e4e412f..49874843 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/HttpClient.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/HttpClient.java @@ -24,6 +24,7 @@ import java.util.Map; import java.util.concurrent.Future; import javax.ws.rs.client.Entity; import javax.ws.rs.client.InvocationCallback; +import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Response; import org.onap.policy.common.capabilities.Startable; @@ -213,4 +214,10 @@ public interface HttpClient extends Startable { */ String getBaseUrl(); + /** + * Gets a web target associated with the base URL. + * + * @return a webtarget + */ + WebTarget getWebTarget(); } diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/internal/JerseyClient.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/internal/JerseyClient.java index 38ec6829..c6a4fa41 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/internal/JerseyClient.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/http/client/internal/JerseyClient.java @@ -36,6 +36,7 @@ import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Entity; import javax.ws.rs.client.Invocation.Builder; import javax.ws.rs.client.InvocationCallback; +import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.Response; import org.apache.commons.lang3.StringUtils; import org.glassfish.jersey.client.ClientProperties; @@ -157,18 +158,23 @@ public class JerseyClient implements HttpClient { } } + @Override + public WebTarget getWebTarget() { + return this.client.target(this.baseUrl); + } + @Override public Response get(String path) { if (!StringUtils.isBlank(path)) { - return this.client.target(this.baseUrl).path(path).request().get(); + return getWebTarget().path(path).request().get(); } else { - return this.client.target(this.baseUrl).request().get(); + return getWebTarget().request().get(); } } @Override public Response get() { - return this.client.target(this.baseUrl).request().get(); + return getWebTarget().request().get(); } @Override @@ -184,7 +190,7 @@ public class JerseyClient implements HttpClient { @Override public Future get(InvocationCallback callback, Map headers) { - Builder builder = this.client.target(this.baseUrl).request(); + Builder builder = getWebTarget().request(); if (headers != null) { headers.forEach(builder::header); } @@ -328,7 +334,7 @@ public class JerseyClient implements HttpClient { } private Builder getBuilder(String path, Map headers) { - Builder builder = this.client.target(this.baseUrl).path(path).request(); + Builder builder = getWebTarget().path(path).request(); for (Entry header : headers.entrySet()) { builder.header(header.getKey(), header.getValue()); } -- cgit 1.2.3-korg