You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2025/01/10 08:46:33 UTC
(tomcat) 01/02: Refactor so the buffered data is used directly rather than copied
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 607dfe52c8b7e1f03236ae5a0f7baeb3389d377a
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jan 9 14:01:18 2025 +0000
Refactor so the buffered data is used directly rather than copied
This also aligns with other uses of o.a.catalina.connector.InputBuffer
where a pre-populated buffer replaces InputBuffer#bb rather than the
data being copied into the existing InputBuffer#bb
---
.../apache/coyote/http11/filters/SavedRequestInputFilter.java | 9 ++++-----
webapps/docs/changelog.xml | 4 ++++
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java b/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java
index 9bead7331e..84b6ae8f7b 100644
--- a/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java
+++ b/java/org/apache/coyote/http11/filters/SavedRequestInputFilter.java
@@ -49,11 +49,10 @@ public class SavedRequestInputFilter implements InputFilter {
return -1;
}
- ByteBuffer byteBuffer = handler.getByteBuffer();
- byteBuffer.position(byteBuffer.limit()).limit(byteBuffer.capacity());
- input.subtract(byteBuffer);
-
- return byteBuffer.remaining();
+ int len = input.getLength();
+ handler.setByteBuffer(ByteBuffer.wrap(input.getBytes(), input.getStart(), len));
+ input.setStart(input.getEnd());
+ return len;
}
/**
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 4ed3acdc65..3d12fb0c8e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -144,6 +144,10 @@
processing poller events for the NIO Connector as this may occur in
normal usage. (markt)
</fix>
+ <scode>
+ Refactor the <code>SavedRequestInputFilter</code> so the buffered data
+ is used directly rather than copied. (markt)
+ </scode>
</changelog>
</subsection>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org