diff options
author | Ram Krishna Verma <ram_krishna.verma@bell.ca> | 2020-02-10 15:58:04 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2020-02-10 15:58:04 +0000 |
commit | d5229beabe407eeef2cd56c57a525f5e36245bf0 (patch) | |
tree | a2292643d552d492cd2333c3822114ffe4c8776a /policy-endpoints/src/main/java/org | |
parent | 5bbe2f95b5e7aebc491163167093d4638d5f1664 (diff) | |
parent | 1b73b599b23921b3412d60ed231de1ef8ac90dbb (diff) |
Merge "Add headers to asynchronous get in HttpClient"
Diffstat (limited to 'policy-endpoints/src/main/java/org')
2 files changed, 17 insertions, 8 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 ebed1d7e..9e4e412f 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 @@ -53,19 +53,21 @@ public interface HttpClient extends Startable { * Asynchronous GET request. * * @param callback callback to be invoked, asynchronously, when the request completes - * @param path context uri path. + * @param path context uri path + * @param headers request headers * * @return future that can be used to cancel the request or await the response */ - Future<Response> get(InvocationCallback<Response> callback, String path); + Future<Response> get(InvocationCallback<Response> callback, String path, Map<String, Object> headers); /** * Asynchronous GET request. * * @param callback callback to be invoked, asynchronously, when the request completes + * @param headers request headers * @return future that can be used to cancel the request or await the response */ - Future<Response> get(InvocationCallback<Response> callback); + Future<Response> get(InvocationCallback<Response> callback, Map<String, Object> headers); /** * PUT request. 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 1a822ff2..38ec6829 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 @@ -26,6 +26,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; +import java.util.Collections; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.Future; @@ -171,17 +172,23 @@ public class JerseyClient implements HttpClient { } @Override - public Future<Response> get(InvocationCallback<Response> callback, String path) { + public Future<Response> get(InvocationCallback<Response> callback, String path, Map<String, Object> headers) { + Map<String, Object> headers2 = (headers != null ? headers : Collections.emptyMap()); + if (!StringUtils.isBlank(path)) { - return this.client.target(this.baseUrl).path(path).request().async().get(callback); + return getBuilder(path, headers2).async().get(callback); } else { - return this.client.target(this.baseUrl).request().async().get(callback); + return get(callback, headers2); } } @Override - public Future<Response> get(InvocationCallback<Response> callback) { - return this.client.target(this.baseUrl).request().async().get(callback); + public Future<Response> get(InvocationCallback<Response> callback, Map<String, Object> headers) { + Builder builder = this.client.target(this.baseUrl).request(); + if (headers != null) { + headers.forEach(builder::header); + } + return builder.async().get(callback); } @Override |