You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by hg...@apache.org on 2001/08/24 10:02:35 UTC

cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/util/buf DateTool.java

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;
       }