Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 25444 invoked from network); 10 Jan 2002 16:58:35 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 10 Jan 2002 16:58:35 -0000 Received: (qmail 10686 invoked by uid 97); 10 Jan 2002 16:58:23 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 10670 invoked by uid 97); 10 Jan 2002 16:58:23 -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 10659 invoked by uid 97); 10 Jan 2002 16:58:22 -0000 Date: 10 Jan 2002 16:58:17 -0000 Message-ID: <20020110165817.62008.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 Constants.java Http11Connector.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/10 08:58:17 Modified: http11/src/java/org/apache/coyote/http11 Constants.java Http11Connector.java InternalOutputBuffer.java Log: - Add support for sending acknoledgments. - Implement reset. Revision Changes Path 1.6 +8 -1 jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Constants.java Index: Constants.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Constants.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Constants.java 9 Jan 2002 23:29:29 -0000 1.5 +++ Constants.java 10 Jan 2002 16:58:17 -0000 1.6 @@ -141,7 +141,7 @@ /** * Default HTTP header buffer size. */ - public static final int DEFAULT_HTTP_HEADER_BUFFER_SIZE = 128 * 1024; + public static final int DEFAULT_HTTP_HEADER_BUFFER_SIZE = 128 * 1000; /** @@ -178,6 +178,13 @@ * HTTP/1.1. */ public static final String HTTP_11 = "HTTP/1.1"; + + + /** + * Ack string when pipelining HTTP requests. + */ + public static final byte[] ACK = + (new String("HTTP/1.1 100 Continue\r\n\r\n")).getBytes(); } 1.11 +17 -3 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.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Http11Connector.java 10 Jan 2002 15:23:23 -0000 1.10 +++ Http11Connector.java 10 Jan 2002 16:58:17 -0000 1.11 @@ -163,6 +163,12 @@ /** + * HTTP/1.1 flag. + */ + protected boolean http11 = true; + + + /** * Content delimitator for the request (if false, the connection will * be closed at the end of the request). */ @@ -360,7 +366,13 @@ // Send a 100 status back if it makes sense (response not committed // yet, and client specified an expectation for 100-continue) - // FIXME + try { + outputBuffer.sendAck(); + } catch (IOException e) { + // Log the error, and set error flag + e.printStackTrace(); + error = true; + } } else if (actionCode == ActionCode.ACTION_CLOSE) { @@ -383,6 +395,8 @@ // Note: This must be called before the response is committed + outputBuffer.reset(); + } else if (actionCode == ActionCode.ACTION_CUSTOM) { // Do nothing @@ -423,7 +437,7 @@ */ protected void prepareRequest() { - boolean http11 = true; + http11 = true; contentDelimitation = false; MessageBytes protocolMB = request.protocol(); @@ -434,6 +448,7 @@ keepAlive = false; } else { // Unsupported protocol + http11 = false; error = true; // Send 505; Unsupported HTTP version response.setStatus(505); @@ -541,7 +556,6 @@ */ protected void prepareResponse() { - boolean http11 = true; boolean http09 = false; contentDelimitation = false; 1.9 +28 -5 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.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- InternalOutputBuffer.java 10 Jan 2002 12:53:50 -0000 1.8 +++ InternalOutputBuffer.java 10 Jan 2002 16:58:17 -0000 1.9 @@ -226,8 +226,6 @@ */ public void addFilter(OutputFilter filter) { - // FIXME: Check for null ? - OutputFilter[] newFilterLibrary = new OutputFilter[filterLibrary.length + 1]; for (int i = 0; i < filterLibrary.length; i++) { @@ -267,9 +265,6 @@ */ public void addActiveFilter(OutputFilter filter) { - // FIXME: Check for null ? - // FIXME: Check index ? - if (lastActiveFilter == -1) { filter.setBuffer(outputStreamOutputBuffer); } else { @@ -287,6 +282,22 @@ /** + * Reset current response. + * + * @throws IllegalStateException if the response has already been committed + */ + public void reset() { + + if (committed) + throw new IllegalStateException(/*FIXME:Put an error message*/); + + // Recycle Request object + response.recycle(); + + } + + + /** * Recycle the output buffer. This should be called when closing the * connection. */ @@ -355,6 +366,18 @@ // ------------------------------------------------ HTTP/1.1 Output Methods + + + /** + * Send an acknoledgement. + */ + public void sendAck() + throws IOException { + + if (!committed) + outputStream.write(Constants.ACK); + + } /** -- To unsubscribe, e-mail: For additional commands, e-mail: