diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java b/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java index c9ad8b1c3c2..2a742e4218e 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/http1/Http1Connection.java @@ -420,7 +420,7 @@ private void route(HttpPrologue prologue, WritableHeaders headers) { routing.route(ctx, request, response); - consumeEntity(request, response); + consumeEntity(request, response, entityReadLatch); try { entityReadLatch.await(); } catch (InterruptedException e) { @@ -433,9 +433,10 @@ private void route(HttpPrologue prologue, WritableHeaders headers) { } } - private void consumeEntity(Http1ServerRequest request, Http1ServerResponse response) { + private void consumeEntity(Http1ServerRequest request, Http1ServerResponse response, CountDownLatch entityReadLatch) { if (response.headers().contains(HeaderValues.CONNECTION_CLOSE) || request.content().consumed()) { // we do not care about request entity if connection is getting closed + entityReadLatch.countDown(); return; } // consume the entity if not consumed by routing