Author: fhanik Date: Wed Jul 16 17:13:37 2008 New Revision: 677473 URL: http://svn.apache.org/viewvc?rev=677473&view=rev Log: first chunk - make sure END gets called properly, if the event was closed second chunk - if the POST body is x-www-form-urlencoded, request.getAvailable() returns 0 for IdentityInputFilter so we still need to invoke READ event if there is a body, and it hasn't been processes by the servlet
Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/trunk/java/org/apache/catalina/connector/Request.java Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=677473&r1=677472&r2=677473&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Wed Jul 16 17:13:37 2008 @@ -206,6 +206,13 @@ connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent()); } if (response.isClosed() || !request.isComet()) { + if (status==SocketStatus.OPEN) { + //CometEvent.close was called during an event. + request.getEvent().setEventType(CometEvent.EventType.END); + request.getEvent().setEventSubType(null); + error = true; + connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent()); + } res.action(ActionCode.ACTION_COMET_END, null); } else if (!error && read && request.getAvailable()) { // If this was a read and not all bytes have been read, or if no data @@ -287,7 +294,7 @@ if (request.isComet()) { if (!response.isClosed() && !response.isError()) { - if (request.getAvailable()) { + if (request.getAvailable() || (request.getContentLength() > 0 && (!request.isParametersParsed()))) { // Invoke a read event right away if there are available bytes if (event(req, res, SocketStatus.OPEN)) { comet = true; Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=677473&r1=677472&r2=677473&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Jul 16 17:13:37 2008 @@ -2248,6 +2248,12 @@ this.comet = comet; } + /** + * return true if we have parsed parameters + */ + public boolean isParametersParsed() { + return parametersParsed; + } /** * Return true if bytes are available. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]