From a16f30efc8ab994d6c3d50fd76e849f5f85ec0ac Mon Sep 17 00:00:00 2001 From: markt Date: Tue, 23 Aug 2011 16:20:42 +0000 Subject: [PATCH] Add ability to track bytes read git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1160774 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/coyote/ajp/AbstractAjpProcessor.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/java/org/apache/coyote/ajp/AbstractAjpProcessor.java b/java/org/apache/coyote/ajp/AbstractAjpProcessor.java index cea6b223e..799509e4a 100644 --- a/java/org/apache/coyote/ajp/AbstractAjpProcessor.java +++ b/java/org/apache/coyote/ajp/AbstractAjpProcessor.java @@ -225,6 +225,12 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { protected long bytesWritten = 0; + /** + * Request body bytes read for the current request. + */ + protected long bodyBytesRead = 0; + + // ------------------------------------------------------------ Constructor public AbstractAjpProcessor(int packetSize, AbstractEndpoint endpoint) { @@ -530,6 +536,7 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { response.recycle(); certificates.recycle(); bytesWritten = 0; + bodyBytesRead = 0; } @@ -1008,7 +1015,7 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { * Read bytes into the specified chunk. */ @Override - public int doRead(ByteChunk chunk, Request req ) + public int doRead(ByteChunk chunk, Request req) throws IOException { if (endOfStream) { @@ -1025,10 +1032,10 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { } } ByteChunk bc = bodyBytes.getByteChunk(); + bodyBytesRead += bc.getLength(); chunk.setBytes(bc.getBuffer(), bc.getStart(), bc.getLength()); empty = true; - return chunk.getLength(); - + return bc.getLength(); } } -- 2.11.0