Skip to content

Commit fc03e96

Browse files
committed
Simplify unconsumed parameter computation
This commit simplifies the computation of the unconsumed parameters remaining when handling a REST request.
1 parent 1e8f7fd commit fc03e96

1 file changed

Lines changed: 3 additions & 12 deletions

File tree

core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929

3030
import java.io.IOException;
3131
import java.util.Collections;
32-
import java.util.Iterator;
3332
import java.util.List;
3433
import java.util.Set;
34+
import java.util.stream.Collectors;
3535

3636
/**
3737
* Base handler for REST requests.
@@ -58,17 +58,8 @@ public final void handleRequest(RestRequest request, RestChannel channel, NodeCl
5858
final RestChannelConsumer action = prepareRequest(request, client);
5959

6060
// validate unconsumed params, but we must exclude params used to format the response
61-
final List<String> unconsumedParams = request.unconsumedParams();
62-
final Set<String> responseParams = responseParams();
63-
final Iterator<String> it = unconsumedParams.iterator();
64-
65-
// this has to use an iterator lest a ConcurrentModificationException will arise
66-
while (it.hasNext()) {
67-
final String unconsumedParam = it.next();
68-
if (responseParams.contains(unconsumedParam)) {
69-
it.remove();
70-
}
71-
}
61+
final List<String> unconsumedParams =
62+
request.unconsumedParams().stream().filter(p -> !responseParams().contains(p)).collect(Collectors.toList());
7263

7364
// validate the non-response params
7465
if (!unconsumedParams.isEmpty()) {

0 commit comments

Comments
 (0)