From 23a052c1604734ea603fe06966eec50701620b5e Mon Sep 17 00:00:00 2001 From: Violeta Georgieva Date: Mon, 24 Apr 2017 23:14:29 +0300 Subject: [PATCH] Clear the buffer provided by Undertow before reading the request When reading more that once for a given request, the position/limit of the buffer provided by Undertow should be reset in order to use the full capacity of the buffer. --- .../http/server/reactive/UndertowServerHttpRequest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java index f66b9ccbdcf..ff33f1bc2d6 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java @@ -146,6 +146,7 @@ public class UndertowServerHttpRequest extends AbstractServerHttpRequest { this.pooledByteBuffer = this.byteBufferPool.allocate(); } ByteBuffer byteBuffer = this.pooledByteBuffer.getBuffer(); + byteBuffer.clear(); int read = this.channel.read(byteBuffer); if (logger.isTraceEnabled()) { logger.trace("read:" + read);