Use DataBuffer::toString instead of CharBuffer
This commit ensures that converting DataBuffers to a String does not use an expensive ByteBuffer allocation. Closes gh-29889
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
package org.springframework.http.codec;
|
||||
|
||||
import java.net.URLDecoder;
|
||||
import java.nio.CharBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Collections;
|
||||
@@ -129,8 +128,7 @@ public class FormHttpMessageReader extends LoggingCodecSupport
|
||||
|
||||
return DataBufferUtils.join(message.getBody(), this.maxInMemorySize)
|
||||
.map(buffer -> {
|
||||
CharBuffer charBuffer = charset.decode(buffer.toByteBuffer());
|
||||
String body = charBuffer.toString();
|
||||
String body = buffer.toString(charset);
|
||||
DataBufferUtils.release(buffer);
|
||||
MultiValueMap<String, String> formData = parseFormData(charset, body);
|
||||
logFormData(formData, hints);
|
||||
|
||||
Reference in New Issue
Block a user