Skip to content

Commit 26bd57c

Browse files
committed
Add high-level client methods that accept RequestOptions
With elastic#30490 we have introduced a new way to provide request options whenever sending a request using the high-level REST client. Before you could provide headers as the last argument varargs of each API method, now you can provide `RequestOptions` that in the future will allow to provide more options which can be specified per request. This commit deprecates all of the client methods that accept a `Header` varargs argument in favour of new methods that accept `RequestOptions` instead. For some API we don't even go through deprecation given that they were not released since they were added, hence in that case we can just move them to the new method.
1 parent 3809450 commit 26bd57c

26 files changed

+1336
-466
lines changed

client/rest-high-level/src/main/java/org/elasticsearch/client/ClusterClient.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,20 @@ public final class ClusterClient {
4646
* See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html"> Cluster Update Settings
4747
* API on elastic.co</a>
4848
*/
49+
public ClusterUpdateSettingsResponse putSettings(ClusterUpdateSettingsRequest clusterUpdateSettingsRequest, RequestOptions options)
50+
throws IOException {
51+
return restHighLevelClient.performRequestAndParseEntity(clusterUpdateSettingsRequest, RequestConverters::clusterPutSettings,
52+
options, ClusterUpdateSettingsResponse::fromXContent, emptySet());
53+
}
54+
55+
/**
56+
* Updates cluster wide specific settings using the Cluster Update Settings API
57+
* <p>
58+
* See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html"> Cluster Update Settings
59+
* API on elastic.co</a>
60+
* @deprecated Prefer {@link #putSettings(ClusterUpdateSettingsRequest, RequestOptions)}
61+
*/
62+
@Deprecated
4963
public ClusterUpdateSettingsResponse putSettings(ClusterUpdateSettingsRequest clusterUpdateSettingsRequest, Header... headers)
5064
throws IOException {
5165
return restHighLevelClient.performRequestAndParseEntity(clusterUpdateSettingsRequest, RequestConverters::clusterPutSettings,
@@ -58,6 +72,19 @@ public ClusterUpdateSettingsResponse putSettings(ClusterUpdateSettingsRequest cl
5872
* See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html"> Cluster Update Settings
5973
* API on elastic.co</a>
6074
*/
75+
public void putSettingsAsync(ClusterUpdateSettingsRequest clusterUpdateSettingsRequest, RequestOptions options,
76+
ActionListener<ClusterUpdateSettingsResponse> listener) {
77+
restHighLevelClient.performRequestAsyncAndParseEntity(clusterUpdateSettingsRequest, RequestConverters::clusterPutSettings,
78+
options, ClusterUpdateSettingsResponse::fromXContent, listener, emptySet());
79+
}
80+
/**
81+
* Asynchronously updates cluster wide specific settings using the Cluster Update Settings API
82+
* <p>
83+
* See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html"> Cluster Update Settings
84+
* API on elastic.co</a>
85+
* @deprecated Prefer {@link #putSettingsAsync(ClusterUpdateSettingsRequest, RequestOptions, ActionListener)}
86+
*/
87+
@Deprecated
6188
public void putSettingsAsync(ClusterUpdateSettingsRequest clusterUpdateSettingsRequest,
6289
ActionListener<ClusterUpdateSettingsResponse> listener, Header... headers) {
6390
restHighLevelClient.performRequestAsyncAndParseEntity(clusterUpdateSettingsRequest, RequestConverters::clusterPutSettings,

client/rest-high-level/src/main/java/org/elasticsearch/client/IndicesClient.java

Lines changed: 455 additions & 24 deletions
Large diffs are not rendered by default.

client/rest-high-level/src/main/java/org/elasticsearch/client/IngestClient.java

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
package org.elasticsearch.client;
2121

22-
import org.apache.http.Header;
2322
import org.elasticsearch.action.ActionListener;
2423
import org.elasticsearch.action.ingest.DeletePipelineRequest;
2524
import org.elasticsearch.action.ingest.GetPipelineRequest;
@@ -50,9 +49,9 @@ public final class IngestClient {
5049
* See
5150
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html"> Put Pipeline API on elastic.co</a>
5251
*/
53-
public WritePipelineResponse putPipeline(PutPipelineRequest request, Header... headers) throws IOException {
54-
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::putPipeline,
55-
WritePipelineResponse::fromXContent, emptySet(), headers);
52+
public WritePipelineResponse putPipeline(PutPipelineRequest request, RequestOptions options) throws IOException {
53+
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::putPipeline, options,
54+
WritePipelineResponse::fromXContent, emptySet());
5655
}
5756

5857
/**
@@ -61,9 +60,9 @@ public WritePipelineResponse putPipeline(PutPipelineRequest request, Header... h
6160
* See
6261
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html"> Put Pipeline API on elastic.co</a>
6362
*/
64-
public void putPipelineAsync(PutPipelineRequest request, ActionListener<WritePipelineResponse> listener, Header... headers) {
65-
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::putPipeline,
66-
WritePipelineResponse::fromXContent, listener, emptySet(), headers);
63+
public void putPipelineAsync(PutPipelineRequest request, RequestOptions options, ActionListener<WritePipelineResponse> listener) {
64+
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::putPipeline, options,
65+
WritePipelineResponse::fromXContent, listener, emptySet());
6766
}
6867

6968
/**
@@ -72,9 +71,9 @@ public void putPipelineAsync(PutPipelineRequest request, ActionListener<WritePip
7271
* See
7372
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-pipeline-api.html"> Get Pipeline API on elastic.co</a>
7473
*/
75-
public GetPipelineResponse getPipeline(GetPipelineRequest request, Header... headers) throws IOException {
76-
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::getPipeline,
77-
GetPipelineResponse::fromXContent, emptySet(), headers);
74+
public GetPipelineResponse getPipeline(GetPipelineRequest request, RequestOptions options) throws IOException {
75+
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::getPipeline, options,
76+
GetPipelineResponse::fromXContent, emptySet());
7877
}
7978

8079
/**
@@ -83,9 +82,9 @@ public GetPipelineResponse getPipeline(GetPipelineRequest request, Header... hea
8382
* See
8483
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/get-pipeline-api.html"> Get Pipeline API on elastic.co</a>
8584
*/
86-
public void getPipelineAsync(GetPipelineRequest request, ActionListener<GetPipelineResponse> listener, Header... headers) {
87-
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::getPipeline,
88-
GetPipelineResponse::fromXContent, listener, emptySet(), headers);
85+
public void getPipelineAsync(GetPipelineRequest request, RequestOptions options, ActionListener<GetPipelineResponse> listener) {
86+
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::getPipeline, options,
87+
GetPipelineResponse::fromXContent, listener, emptySet());
8988
}
9089

9190
/**
@@ -95,9 +94,9 @@ public void getPipelineAsync(GetPipelineRequest request, ActionListener<GetPipel
9594
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html">
9695
* Delete Pipeline API on elastic.co</a>
9796
*/
98-
public WritePipelineResponse deletePipeline(DeletePipelineRequest request, Header... headers) throws IOException {
99-
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::deletePipeline,
100-
WritePipelineResponse::fromXContent, emptySet(), headers);
97+
public WritePipelineResponse deletePipeline(DeletePipelineRequest request, RequestOptions options) throws IOException {
98+
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::deletePipeline, options,
99+
WritePipelineResponse::fromXContent, emptySet());
101100
}
102101

103102
/**
@@ -107,8 +106,8 @@ public WritePipelineResponse deletePipeline(DeletePipelineRequest request, Heade
107106
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html">
108107
* Delete Pipeline API on elastic.co</a>
109108
*/
110-
public void deletePipelineAsync(DeletePipelineRequest request, ActionListener<WritePipelineResponse> listener, Header... headers) {
111-
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::deletePipeline,
112-
WritePipelineResponse::fromXContent, listener, emptySet(), headers);
109+
public void deletePipelineAsync(DeletePipelineRequest request, RequestOptions options, ActionListener<WritePipelineResponse> listener) {
110+
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::deletePipeline, options,
111+
WritePipelineResponse::fromXContent, listener, emptySet());
113112
}
114113
}

0 commit comments

Comments
 (0)