tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cos...@apache.org
Subject cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/core Response.java
Date Sun, 26 Aug 2001 01:52:18 GMT
costin      01/08/25 18:52:18

  Modified:    src/share/org/apache/tomcat/core Response.java
  Log:
  Fix for bug 1920.
  
  Thanks to ruvinsky@yahoo.com (Eddie Ruvinsky) for reporting the bug.
  
  There is no need to keep the duplicated 'int contentLength' ( it's just an
  useless overhead ), and it brakes 'long' lengths.
  
  Revision  Changes    Path
  1.55      +23 -16    jakarta-tomcat/src/share/org/apache/tomcat/core/Response.java
  
  Index: Response.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/Response.java,v
  retrieving revision 1.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- Response.java	2001/08/17 04:02:54	1.54
  +++ Response.java	2001/08/26 01:52:18	1.55
  @@ -117,7 +117,6 @@
       protected String contentType = DEFAULT_CONTENT_TYPE;
       protected String contentLanguage = null;
       protected String characterEncoding = DEFAULT_CHAR_ENCODING;
  -    protected int contentLength = -1;
       protected Locale locale = DEFAULT_LOCALE;
   
       // -------------------- Constructor --------------------
  @@ -252,7 +251,6 @@
   	    contentType = DEFAULT_CONTENT_TYPE;
   	    locale = DEFAULT_LOCALE;
   	    characterEncoding = DEFAULT_CHAR_ENCODING;
  -	    contentLength = -1;
   	    status = 200;
   	    headers.clear();
   	}
  @@ -317,17 +315,17 @@
   	    setContentType( value );
   	    return true;
   	}
  -	if( name.equalsIgnoreCase( "Content-Length" ) ) {
  -	    try {
  -		int cL=Integer.parseInt( value );
  -		setContentLength( cL );
  -		return true;
  -	    } catch( NumberFormatException ex ) {
  -		// Do nothing - the spec doesn't have any "throws" 
  -		// and the user might know what he's doing
  -		return false;
  -	    }
  -	}
  +// 	if( name.equalsIgnoreCase( "Content-Length" ) ) {
  +// 	    try {
  +// 		int cL=Integer.parseInt( value );
  +// 		setContentLength( cL );
  +// 		return true;
  +// 	    } catch( NumberFormatException ex ) {
  +// 		// Do nothing - the spec doesn't have any "throws" 
  +// 		// and the user might know what he's doing
  +// 		return false;
  +// 	    }
  +// 	}
   	if( name.equalsIgnoreCase( "Content-Language" ) ) {
   	    // XXX XXX Need to construct Locale or something else
   	}
  @@ -460,12 +458,22 @@
       
       public void setContentLength(int contentLength) {
           if( included ) return;
  -	this.contentLength = contentLength;
   	headers.setValue("Content-Length").setInt(contentLength);
       }
   
  +    /** @deprecated. Not used in any piece of code, will fail for long values,
  +	it's not an acurate value of the length ( just the header ).
  +    */
       public int getContentLength() {
  -	return contentLength;
  +	String value=headers.getHeader( "Content-Length" );
  +	if( value == null )
  +	    return -1;
  +	try {
  +	    int cL=Integer.parseInt( value );
  +	    return cL;
  +	} catch( Exception ex ) {
  +	    return -1;
  +	}
       }
   
       // -------------------- Extend --------------------
  @@ -490,7 +498,6 @@
   	contentLanguage = null;
           locale = DEFAULT_LOCALE;
   	characterEncoding = DEFAULT_CHAR_ENCODING;
  -	contentLength = -1;
   	status = 200;
   	usingWriter = false;
   	usingStream = false;
  
  
  

Mime
View raw message