You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@locus.apache.org on 2000/05/05 08:08:46 UTC
cvs commit: jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/valves AccessLogValve.java
craigmcc 00/05/04 23:08:46
Modified: proposals/catalina/src/share/org/apache/tomcat Response.java
proposals/catalina/src/share/org/apache/tomcat/connector
ResponseBase.java ResponseStream.java
proposals/catalina/src/share/org/apache/tomcat/valves
AccessLogValve.java
Log:
Add output byte counter to the Response interface and implementation, so
that AccessLogValve can report the number of bytes actually sent, even if
the servlet does not set the content length.
Revision Changes Path
1.6 +10 -4 jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Response.java
Index: Response.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Response.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Response.java 2000/04/17 18:39:47 1.5
+++ Response.java 2000/05/05 06:08:44 1.6
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Response.java,v 1.5 2000/04/17 18:39:47 craigmcc Exp $
- * $Revision: 1.5 $
- * $Date: 2000/04/17 18:39:47 $
+ * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/Response.java,v 1.6 2000/05/05 06:08:44 craigmcc Exp $
+ * $Revision: 1.6 $
+ * $Date: 2000/05/05 06:08:44 $
*
* ====================================================================
*
@@ -79,7 +79,7 @@
* based on the processing of a corresponding <code>Request</code>.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.5 $ $Date: 2000/04/17 18:39:47 $
+ * @version $Revision: 1.6 $ $Date: 2000/05/05 06:08:44 $
*/
public interface Response {
@@ -100,6 +100,12 @@
* @param connector The new connector
*/
public void setConnector(Connector connector);
+
+
+ /**
+ * Return the number of bytes actually written to the output stream.
+ */
+ public int getContentCount();
/**
1.9 +26 -5 jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseBase.java
Index: ResponseBase.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseBase.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ResponseBase.java 2000/05/02 22:02:22 1.8
+++ ResponseBase.java 2000/05/05 06:08:45 1.9
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseBase.java,v 1.8 2000/05/02 22:02:22 craigmcc Exp $
- * $Revision: 1.8 $
- * $Date: 2000/05/02 22:02:22 $
+ * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseBase.java,v 1.9 2000/05/05 06:08:45 craigmcc Exp $
+ * $Revision: 1.9 $
+ * $Date: 2000/05/05 06:08:45 $
*
* ====================================================================
*
@@ -87,7 +87,7 @@
* the connector-specific methods need to be implemented.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.8 $ $Date: 2000/05/02 22:02:22 $
+ * @version $Revision: 1.9 $ $Date: 2000/05/05 06:08:45 $
*/
public abstract class ResponseBase
@@ -122,6 +122,12 @@
/**
+ * The actual number of bytes written to this Response.
+ */
+ protected int contentCount = 0;
+
+
+ /**
* The content length associated with this Response.
*/
protected int contentLength = -1;
@@ -217,6 +223,16 @@
/**
+ * Return the number of bytes actually written to the output stream.
+ */
+ public int getContentCount() {
+
+ return (this.contentCount);
+
+ }
+
+
+ /**
* Return the Context with which this Response is associated.
*/
public Context getContext() {
@@ -353,6 +369,7 @@
bufferCount = 0;
committed = false;
// connector is NOT reset when recycling
+ contentCount = 0;
contentLength = -1;
contentType = "text/plain";
context = null;
@@ -374,15 +391,19 @@
*
* @param b The byte to be written
*
- * @exception IOExceptino if an input/output error occurs
+ * @exception IOException if an input/output error occurs
*/
public void write(int b) throws IOException {
if (bufferCount >= buffer.length)
flushBuffer();
buffer[bufferCount++] = (byte) b;
+ contentCount++;
}
+
+
+ // FIXME - Add optimized byte array versions of write()
// ------------------------------------------------ ServletResponse Methods
1.4 +7 -4 jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseStream.java
Index: ResponseStream.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseStream.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ResponseStream.java 2000/04/30 01:23:20 1.3
+++ ResponseStream.java 2000/05/05 06:08:45 1.4
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseStream.java,v 1.3 2000/04/30 01:23:20 craigmcc Exp $
- * $Revision: 1.3 $
- * $Date: 2000/04/30 01:23:20 $
+ * $Header: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/connector/ResponseStream.java,v 1.4 2000/05/05 06:08:45 craigmcc Exp $
+ * $Revision: 1.4 $
+ * $Date: 2000/05/05 06:08:45 $
*
* ====================================================================
*
@@ -79,7 +79,7 @@
* enforce not writing more than that many bytes on the underlying stream.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.3 $ $Date: 2000/04/30 01:23:20 $
+ * @version $Revision: 1.4 $ $Date: 2000/05/05 06:08:45 $
*/
final class ResponseStream
@@ -197,6 +197,9 @@
count++;
}
+
+
+ // FIXME - Add optimized byte array versions of write()
// -------------------------------------------------------- Package Methods
1.8 +2 -2 jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/valves/AccessLogValve.java
Index: AccessLogValve.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat/proposals/catalina/src/share/org/apache/tomcat/valves/AccessLogValve.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- AccessLogValve.java 2000/04/29 05:59:57 1.7
+++ AccessLogValve.java 2000/05/05 06:08:45 1.8
@@ -122,7 +122,7 @@
* can be implemented.
*
* @author Craig R. McClanahan
- * @version $Revision: 1.7 $ $Date: 2000/04/29 05:59:57 $
+ * @version $Revision: 1.8 $ $Date: 2000/05/05 06:08:45 $
*/
public final class AccessLogValve
@@ -478,7 +478,7 @@
} else if (pattern == 'A') {
value = "127.0.0.1"; // FIXME
} else if (pattern == 'b') {
- int length = response.getContentLength();
+ int length = response.getContentCount();
if (length <= 0)
value = "-";
else