Skip to content

Commit 3abd181

Browse files
committed
add assertions
1 parent 7460a07 commit 3abd181

File tree

7 files changed

+27
-19
lines changed

7 files changed

+27
-19
lines changed

modules/transport-netty4/src/main/java/org/elasticsearch/http/netty4/Netty4HttpRequest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,9 @@ public HttpBody body() {
9393

9494
@Override
9595
public void setBody(HttpBody body) {
96-
if (body.isFull()) {
97-
var contentLength = body.asFull().bytes().length();
98-
HttpUtil.setContentLength(nettyRequest, contentLength);
99-
}
100-
this.content = body;
96+
var fullBody = body.asFull();
97+
var contentLength = fullBody.bytes().length();
98+
HttpUtil.setContentLength(nettyRequest, contentLength);
10199
}
102100

103101
@Override

server/src/main/java/org/elasticsearch/http/HttpRequest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ enum HttpVersion {
3030

3131
HttpBody body();
3232

33-
default void setBody(HttpBody body) {
34-
throw new UnsupportedOperationException("not implemented");
35-
}
33+
void setBody(HttpBody body);
3634

3735
List<String> strictCookies();
3836

server/src/main/java/org/elasticsearch/rest/RestContentAggregator.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ private static void replaceBody(RestRequest restRequest, ReleasableBytesReferenc
2727
* Aggregates content of the RestRequest and notifies consumer with updated, in-place, RestRequest.
2828
* If content is already aggregated then does nothing.
2929
*/
30-
public static void aggregate(RestRequest restRequest, Consumer<RestRequest> result) {
30+
public static void aggregate(RestRequest restRequest, Consumer<RestRequest> resultConsumer) {
3131
final var httpRequest = restRequest.getHttpRequest();
3232
switch (httpRequest.body()) {
33-
case HttpBody.Full full -> result.accept(restRequest);
33+
case HttpBody.Full full -> resultConsumer.accept(restRequest);
3434
case HttpBody.Stream stream -> {
3535
if (httpRequest.contentLengthHeader() == 0) {
3636
stream.close();
3737
replaceBody(restRequest, ReleasableBytesReference.empty());
38-
result.accept(restRequest);
38+
resultConsumer.accept(restRequest);
3939
} else {
40-
final var aggregationHandler = new AggregationChunkHandler(restRequest, result);
40+
final var aggregationHandler = new AggregationChunkHandler(restRequest, resultConsumer);
4141
stream.setHandler(aggregationHandler);
4242
stream.next();
4343
}
@@ -47,14 +47,14 @@ public static void aggregate(RestRequest restRequest, Consumer<RestRequest> resu
4747

4848
private static class AggregationChunkHandler implements HttpBody.ChunkHandler {
4949
final RestRequest restRequest;
50-
final Consumer<RestRequest> result;
50+
final Consumer<RestRequest> resultConsumer;
5151
final HttpBody.Stream stream;
5252
boolean closing;
5353
ArrayList<ReleasableBytesReference> chunks;
5454

55-
private AggregationChunkHandler(RestRequest restRequest, Consumer<RestRequest> result) {
55+
private AggregationChunkHandler(RestRequest restRequest, Consumer<RestRequest> resultConsumer) {
5656
this.restRequest = restRequest;
57-
this.result = result;
57+
this.resultConsumer = resultConsumer;
5858
this.stream = restRequest.getHttpRequest().body().asStream();
5959
}
6060

@@ -73,13 +73,13 @@ public void onNext(ReleasableBytesReference chunk, boolean isLast) {
7373
} else {
7474
if (chunks == null) {
7575
replaceBody(restRequest, chunk);
76-
result.accept(restRequest);
76+
resultConsumer.accept(restRequest);
7777
} else {
7878
chunks.add(chunk);
7979
var comp = CompositeBytesReference.of(chunks.toArray(new ReleasableBytesReference[0]));
8080
var relComp = new ReleasableBytesReference(comp, Releasables.wrap(chunks));
8181
replaceBody(restRequest, relComp);
82-
result.accept(restRequest);
82+
resultConsumer.accept(restRequest);
8383
}
8484
}
8585
}

server/src/test/java/org/elasticsearch/http/TestHttpRequest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ public HttpBody body() {
5252
return HttpBody.empty();
5353
}
5454

55+
@Override
56+
public void setBody(HttpBody body) {
57+
throw new IllegalStateException("not allowed");
58+
}
59+
5560
@Override
5661
public Map<String, List<String>> getHeaders() {
5762
return headers;

server/src/test/java/org/elasticsearch/rest/RestControllerTests.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -879,6 +879,11 @@ public HttpBody body() {
879879
return HttpBody.empty();
880880
}
881881

882+
@Override
883+
public void setBody(HttpBody body) {
884+
throw new IllegalStateException("not allowed");
885+
}
886+
882887
@Override
883888
public Map<String, List<String>> getHeaders() {
884889
Map<String, List<String>> headers = new HashMap<>();

test/framework/src/main/java/org/elasticsearch/http/AggregatingDispatcher.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616

1717
public class AggregatingDispatcher implements HttpServerTransport.Dispatcher {
1818

19-
public void dispatchAggregatedRequest(RestRequest restRequest, RestChannel restChannel, ThreadContext threadContext) {}
19+
public void dispatchAggregatedRequest(RestRequest restRequest, RestChannel restChannel, ThreadContext threadContext) {
20+
assert restRequest.isStreamedContent();
21+
}
2022

2123
@Override
2224
public final void dispatchRequest(RestRequest request, RestChannel channel, ThreadContext threadContext) {

test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1004,7 +1004,7 @@ public ReleasableBytesReference randomReleasableBytesReference(int length) {
10041004
return new ReleasableBytesReference(randomBytesReference(length), new AbstractRefCounted() {
10051005
@Override
10061006
protected void closeInternal() {
1007-
1007+
LeakTracker.wrap(AbstractRefCounted.of(() -> {}));
10081008
}
10091009
});
10101010
}

0 commit comments

Comments
 (0)