Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 84489 invoked from network); 1 Jan 2002 21:34:14 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 1 Jan 2002 21:34:14 -0000 Received: (qmail 3669 invoked by uid 97); 1 Jan 2002 21:34:09 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 3619 invoked by uid 97); 1 Jan 2002 21:34:08 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 3608 invoked by uid 97); 1 Jan 2002 21:34:07 -0000 Date: 1 Jan 2002 21:34:01 -0000 Message-ID: <20020101213401.62938.qmail@icarus.apache.org> From: remm@apache.org To: jakarta-tomcat-connectors-cvs@apache.org Subject: cvs commit: jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11 Http11Connector.java InternalInputBuffer.java InternalOutputBuffer.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N remm 02/01/01 13:34:01 Modified: http11/src/java/org/apache/coyote/http11 Http11Connector.java InternalInputBuffer.java InternalOutputBuffer.java Log: - Implement more functionality. Revision Changes Path 1.6 +32 -7 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Connector.java Index: Http11Connector.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Http11Connector.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Http11Connector.java 24 Dec 2001 20:44:40 -0000 1.5 +++ Http11Connector.java 1 Jan 2002 21:34:01 -0000 1.6 @@ -67,6 +67,7 @@ import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.buf.MessageBytes; +import org.apache.tomcat.util.http.MimeHeaders; import org.apache.coyote.ActionHook; import org.apache.coyote.ActionCode; @@ -283,6 +284,7 @@ error = true; } catch (Throwable t) { // ISE + t.printStackTrace(); error = true; } @@ -293,6 +295,7 @@ error = true; } catch (Throwable t) { // Problem ... + t.printStackTrace(); error = true; } @@ -326,6 +329,7 @@ outputBuffer.commit(); } catch (IOException e) { // Log the error, and set error flag + e.printStackTrace(); error = true; } @@ -347,6 +351,7 @@ outputBuffer.endRequest(); } catch (IOException e) { // Log the error, and set error flag + e.printStackTrace(); error = true; } @@ -415,13 +420,15 @@ // Check connection header MessageBytes connectionValueMB = request.getMimeHeaders().getValue("connection"); - String connectionValue = - connectionValueMB.toString().toLowerCase().trim(); - // FIXME: This can be a comma separated list - if (connectionValue.equals("close")) { - keepAlive = false; - } else if (connectionValue.equals("keep-alive")) { - keepAlive = true; + if (connectionValueMB != null) { + String connectionValue = + connectionValueMB.toString().toLowerCase().trim(); + // FIXME: This can be a comma separated list + if (connectionValue.equals("close")) { + keepAlive = false; + } else if (connectionValue.equals("keep-alive")) { + keepAlive = true; + } } // Check user-agent header @@ -503,7 +510,25 @@ contentDelimitation = false; + OutputFilter[] outputFilters = outputBuffer.getFilters(); + + outputBuffer.addActiveFilter + (outputFilters[Constants.IDENTITY_FILTER]); + + int contentLength = request.getContentLength(); + if (contentLength != -1) { + contentDelimitation = true; + } + + // Build the response header + outputBuffer.sendStatus(); + MimeHeaders headers = response.getMimeHeaders(); + int size = headers.size(); + for (int i = 0; i < size; i++) { + outputBuffer.sendHeader(headers.getName(i), headers.getValue(i)); + } + outputBuffer.endHeaders(); if (!contentDelimitation) { // Mark as close the connection after the request, and add the 1.4 +7 -4 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java Index: InternalInputBuffer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- InternalInputBuffer.java 4 Dec 2001 06:33:06 -0000 1.3 +++ InternalInputBuffer.java 1 Jan 2002 21:34:01 -0000 1.4 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java,v 1.3 2001/12/04 06:33:06 remm Exp $ - * $Revision: 1.3 $ - * $Date: 2001/12/04 06:33:06 $ + * $Header: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalInputBuffer.java,v 1.4 2002/01/01 21:34:01 remm Exp $ + * $Revision: 1.4 $ + * $Date: 2002/01/01 21:34:01 $ * * ==================================================================== * @@ -683,7 +683,10 @@ public int doRead(ByteChunk chunk) throws IOException { - return activeFilters[lastActiveFilter].doRead(chunk); + if (lastActiveFilter == -1) + return inputStreamInputBuffer.doRead(chunk); + else + return activeFilters[lastActiveFilter].doRead(chunk); } 1.6 +9 -4 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalOutputBuffer.java Index: InternalOutputBuffer.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/InternalOutputBuffer.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- InternalOutputBuffer.java 9 Dec 2001 22:10:47 -0000 1.5 +++ InternalOutputBuffer.java 1 Jan 2002 21:34:01 -0000 1.6 @@ -109,6 +109,7 @@ filterLibrary = new OutputFilter[0]; activeFilters = new OutputFilter[0]; + lastActiveFilter = -1; committed = false; @@ -343,9 +344,8 @@ } - for (int i = lastActiveFilter; i >= 0; i--) { - activeFilters[i].end(); - } + if (lastActiveFilter != -1) + activeFilters[lastActiveFilter].end(); } @@ -377,6 +377,8 @@ write(status); } + write(" "); + // Write message write(HttpMessages.getMessage(status)); @@ -466,7 +468,10 @@ } - return activeFilters[lastActiveFilter].doWrite(chunk); + if (lastActiveFilter == -1) + return outputStreamOutputBuffer.doWrite(chunk); + else + return activeFilters[lastActiveFilter].doWrite(chunk); } -- To unsubscribe, e-mail: For additional commands, e-mail: