You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@locus.apache.org on 2000/03/22 00:09:45 UTC

cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/task GTest.java

costin      00/03/21 15:09:45

  Modified:    src/etc  test-tomcat.xml
               src/share/org/apache/tomcat/core
                        BufferedServletInputStream.java
               src/share/org/apache/tomcat/service/http
                        HttpConnectionHandler.java
               src/share/org/apache/tomcat/task GTest.java
  Log:
  Fixed bug #81 - hang in POST. The problem was HttpAdapter which set no limits.
  ( checked Ajp adapters - all are fine )
  
  Revision  Changes    Path
  1.14      +7 -0      jakarta-tomcat/src/etc/test-tomcat.xml
  
  Index: test-tomcat.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/etc/test-tomcat.xml,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- test-tomcat.xml	2000/03/16 21:01:45	1.13
  +++ test-tomcat.xml	2000/03/21 23:09:44	1.14
  @@ -520,6 +520,13 @@
               />
      </target>
   
  +  <target name="post1">
  +    <gtest description="Content Type Test"
  +           request="POST /test/servlet/Post HTTP/1.0"
  +           debug="10"
  +           content="Test POST BODY" />
  +   </target>
  +   
      <target name="post">
         <gtest request="POST /test/servlet/request.NotThere HTTP/1.0"
                content="name=lightness of being"
  
  
  
  1.7       +3 -4      jakarta-tomcat/src/share/org/apache/tomcat/core/BufferedServletInputStream.java
  
  Index: BufferedServletInputStream.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/BufferedServletInputStream.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- BufferedServletInputStream.java	2000/02/14 04:59:38	1.6
  +++ BufferedServletInputStream.java	2000/03/21 23:09:44	1.7
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/BufferedServletInputStream.java,v 1.6 2000/02/14 04:59:38 costin Exp $
  - * $Revision: 1.6 $
  - * $Date: 2000/02/14 04:59:38 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/BufferedServletInputStream.java,v 1.7 2000/03/21 23:09:44 costin Exp $
  + * $Revision: 1.7 $
  + * $Date: 2000/03/21 23:09:44 $
    *
    * ====================================================================
    * 
  @@ -79,7 +79,6 @@
    * @author James Duncan Davidson <du...@eng.sun.com>
    * @author Jason Hunter <jc...@eng.sun.com>
    */
  -
   public class BufferedServletInputStream extends ServletInputStream {
   
       // XXX
  
  
  
  1.16      +10 -3     jakarta-tomcat/src/share/org/apache/tomcat/service/http/HttpConnectionHandler.java
  
  Index: HttpConnectionHandler.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/http/HttpConnectionHandler.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- HttpConnectionHandler.java	2000/02/22 21:06:46	1.15
  +++ HttpConnectionHandler.java	2000/03/21 23:09:44	1.16
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/http/HttpConnectionHandler.java,v 1.15 2000/02/22 21:06:46 costin Exp $
  - * $Revision: 1.15 $
  - * $Date: 2000/02/22 21:06:46 $
  + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/service/http/HttpConnectionHandler.java,v 1.16 2000/03/21 23:09:44 costin Exp $
  + * $Revision: 1.16 $
  + * $Date: 2000/03/21 23:09:44 $
    *
    * ====================================================================
    *
  @@ -141,6 +141,13 @@
   		
   		reqA.setServerName(hostHeader);
                }
  +
  +	    int contentLength = reqA.getFacade().getIntHeader("content-length");
  +	    if (contentLength != -1) {
  +		BufferedServletInputStream sis =
  +		    (BufferedServletInputStream)reqA.getInputStream();
  +		sis.setLimit(contentLength);
  +	    }
       
   	    //	    System.out.print("3");
   	    contextM.service( reqA, resA );
  
  
  
  1.5       +11 -9     jakarta-tomcat/src/share/org/apache/tomcat/task/GTest.java
  
  Index: GTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/task/GTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- GTest.java	2000/02/18 18:14:52	1.4
  +++ GTest.java	2000/03/21 23:09:45	1.5
  @@ -229,7 +229,9 @@
   	InputStream is=	s.getInputStream();
   
   	// Write the request
  -	OutputStreamWriter out=new OutputStreamWriter(s.getOutputStream());
  +	s.setSoLinger( true, 1000);
  +	OutputStream os=s.getOutputStream();
  +	OutputStreamWriter out=new OutputStreamWriter(os);
   	PrintWriter pw = new PrintWriter(out);
   
   	try {
  @@ -243,7 +245,7 @@
   		pw.println("");
   	    
   	    if( content != null) {
  -		pw.println(content);
  +		pw.print(content);
   		// XXX no /n at the end -see HTTP specs!
   	    }
   	    
  @@ -256,6 +258,8 @@
   	    // http 0.9
   	    if( request.indexOf( "HTTP/1." ) > -1) {
   		responseLine = read( is );
  +		
  +		if( debug>0) System.out.println("RESPONSE: " + responseLine );
   		headers=parseHeaders( is );
   	    }
   
  @@ -264,12 +268,7 @@
   	    if(result!=null)
   		responseBody=result.toString();
   
  -	    if( debug>0) {
  -		System.out.println("DEBUG Response: " );
  -		System.out.println(responseLine );
  -		System.out.println(responseBody );
  -		System.out.println("DEBUG END " );
  -	    }
  +	    if(debug>0) System.out.println("BODY: " + responseBody );
   	} catch( SocketException ex ) {
   	    System.out.println("Socket Exception: " + ex);
   	    ex.printStackTrace();
  @@ -381,6 +380,8 @@
   	    }
   
   	    parseHeader( line, headers);
  +	    if( debug>0) System.out.println("HEADER: " +line +"X" );
  +
   	}
   
   	return headers;
  @@ -416,6 +417,7 @@
   	while (true) {
   	    try {
   		int ch = input.read();
  +		//		System.out.println("XXX " + (char)ch );
   		if (ch < 0) {
   		    if (sb.length() == 0) {
   			if(debug>0) System.out.println("Error reading line " + ch + " " + sb.toString() );
  @@ -431,7 +433,7 @@
   		System.out.println("Error reading : " + ex );
   		debug=1;
   		if(debug>0) System.out.println("Partial read: " + sb.toString());
  -		//ex.printStackTrace();
  +		ex.printStackTrace();
   		//break;
   	    }
   	}