remm 02/01/10 07:45:32 Modified: http11/src/java/org/apache/coyote/http11/filters IdentityInputFilter.java Log: - The filter was incorrectly reading and discarding extra bytes. Revision Changes Path 1.7 +8 -9 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityInputFilter.java Index: IdentityInputFilter.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/filters/IdentityInputFilter.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- IdentityInputFilter.java 10 Jan 2002 12:53:50 -0000 1.6 +++ IdentityInputFilter.java 10 Jan 2002 15:45:32 -0000 1.7 @@ -151,31 +151,30 @@ public int doRead(ByteChunk chunk) throws IOException { - buffer.doRead(chunk); - - int result = chunk.getLength(); - - if (result <= 0) { - return -1; - } + int result = 0; if (contentLength > 0) { if (remaining > 0) { - if (chunk.getLength() > remaining) { + int nRead = buffer.doRead(chunk); + if (nRead > remaining) { // The chunk is longer than the number of bytes remaining // in the body; changing the chunk length to the number // of bytes remaining chunk.setBytes(chunk.getBytes(), chunk.getStart(), (int) remaining); result = (int) remaining; + } else { + result = nRead; } - remaining = remaining - chunk.getLength(); + remaining = remaining - nRead; } else { // No more bytes left to be read : return -1 and clear the // buffer chunk.recycle(); result = -1; } + } else { + result = buffer.doRead(chunk); } return result;
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>