hgomez 01/08/24 01:02:35
Modified: src/share/org/apache/tomcat/modules/server
Http10Interceptor.java
src/share/org/apache/tomcat/util/buf DateTool.java
Log:
Fix Bug #345 concerning missing DataHeaders in http connector
Revision Changes Path
1.20 +8 -0
jakarta-tomcat/src/share/org/apache/tomcat/modules/server/Http10Interceptor.java
Index: Http10Interceptor.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/Http10Interceptor.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- Http10Interceptor.java 2001/07/28 03:09:55 1.19
+++ Http10Interceptor.java 2001/08/24 08:02:35 1.20
@@ -343,6 +343,14 @@
return;
http.sendStatus( status, HttpMessages.getMessage( status ));
+
+ // Check if a Date is to be added
+ MessageBytes dateH=getMimeHeaders().getValue("Date");
+ if( dateH == null ) {
+ // no date header set by user
+ getMimeHeaders().setValue( "Date" ).setTime( System.currentTimeMillis());
+ }
+
http.sendHeaders( getMimeHeaders() );
}
1.6 +9 -1
jakarta-tomcat/src/share/org/apache/tomcat/util/buf/DateTool.java
Index: DateTool.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/util/buf/DateTool.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DateTool.java 2001/07/19 05:49:02 1.5
+++ DateTool.java 2001/08/24 08:02:35 1.6
@@ -127,6 +127,9 @@
asctimeFormat.setTimeZone(GMT_ZONE);
}
+ private static String rfc1123DS;
+ private static long rfc1123Sec;
+
private static StringManager sm =
StringManager.getManager("org.apache.tomcat.util.buf.res");
@@ -139,7 +142,12 @@
/**
*/
public static String format1123( Date d ) {
- return rfc1123Format.format( d );
+ long dt = d.getTime() % 1000;
+ if ((rfc1123DS != null) && (dt == rfc1123Sec))
+ return rfc1123DS;
+ rfc1123DS = rfc1123Format.format( d );
+ rfc1123Sec = dt;
+ return rfc1123DS;
}