aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-distribution-client/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'sdc-distribution-client/src/main/java/org')
-rw-r--r--sdc-distribution-client/src/main/java/org/onap/sdc/api/consumer/IConfiguration.java12
-rw-r--r--sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java31
-rw-r--r--sdc-distribution-client/src/main/java/org/onap/sdc/impl/Configuration.java12
-rw-r--r--sdc-distribution-client/src/main/java/org/onap/sdc/impl/DistributionClientImpl.java5
4 files changed, 53 insertions, 7 deletions
diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/api/consumer/IConfiguration.java b/sdc-distribution-client/src/main/java/org/onap/sdc/api/consumer/IConfiguration.java
index 88db133..c7248eb 100644
--- a/sdc-distribution-client/src/main/java/org/onap/sdc/api/consumer/IConfiguration.java
+++ b/sdc-distribution-client/src/main/java/org/onap/sdc/api/consumer/IConfiguration.java
@@ -45,6 +45,18 @@ public interface IConfiguration {
String getUser();
/**
+ * Return True if ssl is needed, false otherwise.
+ * This param can be null, then default (HTTPS) behavior will be
+ * applied. If set to false, distribution client will use HTTP when
+ * connecting to SDC.
+ *
+ * @return
+ */
+ default Boolean isUseHttpsWithSDC() {
+ return true;
+ }
+
+ /**
* User Password for SDC distribution consumer authentication.
*
* @return User Password.
diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java b/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java
index 7871816..44f1295 100644
--- a/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java
+++ b/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java
@@ -70,18 +70,28 @@ public class HttpAsdcClient implements IHttpAsdcClient {
private static final String TLS = "TLSv1.2";
private static final String AUTHORIZATION_HEADER = "Authorization";
private static final String HTTPS = "https://";
+ private static final String HTTP = "http://";
public static final int AUTHORIZATION_SCOPE_PORT = 443;
+ public static final int AUTHORIZATION_SCOPE_PLAIN_PORT = 80;
private static Logger log = LoggerFactory.getLogger(HttpAsdcClient.class.getName());
private CloseableHttpClient httpClient = null;
private String serverFqdn = null;
private String authHeaderValue = "";
+ private Boolean use_ssl = true;
- public HttpAsdcClient(IConfiguration configuraion) {
- this.serverFqdn = configuraion.getAsdcAddress();
+ public HttpAsdcClient(IConfiguration configuration) {
+ this.serverFqdn = configuration.getAsdcAddress();
- String username = configuraion.getUser();
- String password = configuraion.getPassword();
- initSSL(username, password, configuraion.getKeyStorePath(), configuraion.getKeyStorePassword(), configuraion.activateServerTLSAuth());
+ String username = configuration.getUser();
+ String password = configuration.getPassword();
+ this.use_ssl = configuration.isUseHttpsWithSDC();
+ if (this.use_ssl) {
+ initSSL(username, password, configuration.getKeyStorePath(), configuration.getKeyStorePassword(), configuration.activateServerTLSAuth());
+ } else {
+ CredentialsProvider credsProvider = new BasicCredentialsProvider();
+ credsProvider.setCredentials(new AuthScope("localhost", AUTHORIZATION_SCOPE_PLAIN_PORT), new UsernamePasswordCredentials(username, password));
+ httpClient = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider).build();
+ }
String userNameAndPassword = username + ":" + password;
this.authHeaderValue = "Basic " + Base64.getEncoder().encodeToString(userNameAndPassword.getBytes());
@@ -217,7 +227,7 @@ public class HttpAsdcClient implements IHttpAsdcClient {
Pair<HttpAsdcResponse, CloseableHttpResponse> ret;
CloseableHttpResponse httpResponse = null;
HttpAsdcResponse response = null;
- HttpPost httpPost = new HttpPost(HTTPS + serverFqdn + requestUrl);
+ HttpPost httpPost = new HttpPost(getScheme() + serverFqdn + requestUrl);
List<Header> headers = addHeadersToHttpRequest(headersMap);
for (Header header : headers) {
httpPost.addHeader(header);
@@ -268,7 +278,7 @@ public class HttpAsdcClient implements IHttpAsdcClient {
public Pair<HttpAsdcResponse, CloseableHttpResponse> getRequest(String requestUrl, Map<String, String> headersMap, boolean closeTheRequest) {
Pair<HttpAsdcResponse, CloseableHttpResponse> ret;
CloseableHttpResponse httpResponse = null;
- String url = HTTPS + serverFqdn + requestUrl;
+ String url = getScheme() + serverFqdn + requestUrl;
log.debug("url to send {}", url);
HttpGet httpGet = new HttpGet(url);
List<Header> headers = addHeadersToHttpRequest(headersMap);
@@ -354,4 +364,11 @@ public class HttpAsdcClient implements IHttpAsdcClient {
return requestHeaders;
}
+ private String getScheme() {
+ if (this.use_ssl) {
+ return HTTPS;
+ }
+ return HTTP;
+ }
+
}
diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/impl/Configuration.java b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/Configuration.java
index 75e4acc..67071e9 100644
--- a/sdc-distribution-client/src/main/java/org/onap/sdc/impl/Configuration.java
+++ b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/Configuration.java
@@ -42,6 +42,7 @@ public class Configuration implements IConfiguration {
private boolean activateServerTLSAuth;
private boolean filterInEmptyResources;
private Boolean useHttpsWithDmaap;
+ private Boolean useHttpsWithSDC;
private boolean consumeProduceStatusTopic;
public Configuration(IConfiguration other) {
@@ -55,6 +56,7 @@ public class Configuration implements IConfiguration {
this.pollingTimeout = other.getPollingTimeout();
this.relevantArtifactTypes = other.getRelevantArtifactTypes();
this.user = other.getUser();
+ this.useHttpsWithSDC = other.isUseHttpsWithSDC();
this.keyStorePath = other.getKeyStorePath();
this.keyStorePassword = other.getKeyStorePassword();
this.activateServerTLSAuth = other.activateServerTLSAuth();
@@ -74,6 +76,11 @@ public class Configuration implements IConfiguration {
}
@Override
+ public Boolean isUseHttpsWithSDC() {
+ return useHttpsWithSDC;
+ }
+
+ @Override
public String getUser() {
return user;
}
@@ -190,6 +197,10 @@ public class Configuration implements IConfiguration {
return this.useHttpsWithDmaap;
}
+ public void setUseHttpsWithSDC(boolean useHttpsWithSDC) {
+ this.useHttpsWithSDC = useHttpsWithSDC;
+ }
+
public void setUseHttpsWithDmaap(boolean useHttpsWithDmaap) {
this.useHttpsWithDmaap = useHttpsWithDmaap;
}
@@ -206,6 +217,7 @@ public class Configuration implements IConfiguration {
+ "asdcAddress=" + asdcAddress
+ ", user=" + user
+ ", password=" + password
+ + ", useHttpsWithSDC=" + useHttpsWithSDC
+ ", pollingInterval=" + pollingInterval
+ ", pollingTimeout=" + pollingTimeout
+ ", relevantArtifactTypes=" + relevantArtifactTypes
diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/impl/DistributionClientImpl.java b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/DistributionClientImpl.java
index eda9cf6..5640540 100644
--- a/sdc-distribution-client/src/main/java/org/onap/sdc/impl/DistributionClientImpl.java
+++ b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/DistributionClientImpl.java
@@ -545,6 +545,11 @@ public class DistributionClientImpl implements IDistributionClient {
generateConsumerGroup();
}
+ //Default use HTTPS with SDC
+ if (conf.isUseHttpsWithSDC() == null) {
+ configuration.setUseHttpsWithSDC(true);
+ }
+
//Default use HTTPS with DMAAP
if (conf.isUseHttpsWithDmaap() == null) {
configuration.setUseHttpsWithDmaap(true);