Skip to content

Commit eea3f61

Browse files
committed
Improve client ssl configuration.
Closes spring-projects#2778
1 parent ddd795a commit eea3f61

File tree

5 files changed

+22
-10
lines changed

5 files changed

+22
-10
lines changed

src/main/java/org/springframework/data/elasticsearch/client/ClientConfiguration.java

+9
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,15 @@ interface MaybeSecureClientConfigurationBuilder extends TerminalClientConfigurat
233233
*/
234234
TerminalClientConfigurationBuilder usingSsl();
235235

236+
/**
237+
* Connects using https if flag is true.
238+
*
239+
* @param flag whether to use https in the connection
240+
* @return the {@link TerminalClientConfigurationBuilder}
241+
* @since 5.3
242+
*/
243+
TerminalClientConfigurationBuilder usingSsl(boolean flag);
244+
236245
/**
237246
* Connect via {@literal https} using the given {@link SSLContext}.<br />
238247
* <strong>NOTE</strong> You need to leave out the protocol in

src/main/java/org/springframework/data/elasticsearch/client/ClientConfigurationBuilder.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import javax.net.ssl.HostnameVerifier;
2626
import javax.net.ssl.SSLContext;
2727

28-
import org.elasticsearch.client.RestClientBuilder.HttpClientConfigCallback;
2928
import org.springframework.data.elasticsearch.client.ClientConfiguration.ClientConfigurationBuilderWithRequiredEndpoint;
3029
import org.springframework.data.elasticsearch.client.ClientConfiguration.MaybeSecureClientConfigurationBuilder;
3130
import org.springframework.data.elasticsearch.client.ClientConfiguration.TerminalClientConfigurationBuilder;
@@ -106,6 +105,13 @@ public TerminalClientConfigurationBuilder usingSsl() {
106105
return this;
107106
}
108107

108+
@Override
109+
public TerminalClientConfigurationBuilder usingSsl(boolean flag) {
110+
111+
this.useSsl = flag;
112+
return this;
113+
}
114+
109115
/*
110116
* (non-Javadoc)
111117
* @see org.springframework.data.elasticsearch.client.ClientConfiguration.MaybeSecureClientConfigurationBuilder#usingSsl(javax.net.ssl.SSLContext)

src/test/java/org/springframework/data/elasticsearch/client/ClientConfigurationUnitTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void shouldCreateCustomizedConfiguration() {
5858

5959
ClientConfiguration clientConfiguration = ClientConfiguration.builder() //
6060
.connectedTo("foo", "bar") //
61-
.usingSsl() //
61+
.usingSsl(true) //
6262
.withDefaultHeaders(headers) //
6363
.withConnectTimeout(Duration.ofDays(1)).withSocketTimeout(Duration.ofDays(2)) //
6464
.withPathPrefix("myPathPrefix") //

src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ElasticsearchTemplateConfiguration.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,8 @@ public ClientConfiguration clientConfiguration() {
5151
configurationBuilder = configurationBuilder.withProxy(proxy);
5252
}
5353

54-
if (clusterConnectionInfo.isUseSsl()) {
55-
configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder)
56-
.usingSsl();
57-
}
54+
configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder)
55+
.usingSsl(clusterConnectionInfo.isUseSsl());
5856

5957
String user = System.getenv("DATAES_ELASTICSEARCH_USER");
6058
String password = System.getenv("DATAES_ELASTICSEARCH_PASSWORD");

src/test/java/org/springframework/data/elasticsearch/junit/jupiter/ReactiveElasticsearchTemplateConfiguration.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,9 @@ public ClientConfiguration clientConfiguration() {
5050
if (proxy != null) {
5151
configurationBuilder = configurationBuilder.withProxy(proxy);
5252
}
53-
if (clusterConnectionInfo.isUseSsl()) {
54-
configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder)
55-
.usingSsl();
56-
}
53+
54+
configurationBuilder = ((ClientConfiguration.MaybeSecureClientConfigurationBuilder) configurationBuilder)
55+
.usingSsl(clusterConnectionInfo.isUseSsl());
5756

5857
String user = System.getenv("DATAES_ELASTICSEARCH_USER");
5958
String password = System.getenv("DATAES_ELASTICSEARCH_PASSWORD");

0 commit comments

Comments
 (0)