You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2006/12/19 02:44:02 UTC

svn commit: r488498 - /tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java

Author: remm
Date: Mon Dec 18 17:44:02 2006
New Revision: 488498

URL: http://svn.apache.org/viewvc?view=rev&rev=488498
Log:
- Modify the code so that it doesn't log client disconnects unless debug is on, and make behavior in front of
  runtime exceptions more transparent.
- Also, if failing to read or parse parameters doesn't throw an ISE, then a post too large shouldn't be an ISE. Or the
  opposite should be done, but IMO this would be excessive logging.

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java?view=diff&rev=488498&r1=488497&r2=488498
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/Request.java Mon Dec 18 17:44:02 2006
@@ -2426,27 +2426,31 @@
         if (len > 0) {
             int maxPostSize = connector.getMaxPostSize();
             if ((maxPostSize > 0) && (len > maxPostSize)) {
-                context.getLogger().info
-                    (sm.getString("coyoteRequest.postTooLarge"));
-                throw new IllegalStateException("Post too large");
+                if (context.getLogger().isDebugEnabled()) {
+                    context.getLogger().debug("Post too large");
+                }
+                return;
+            }
+            byte[] formData = null;
+            if (len < CACHED_POST_LEN) {
+                if (postData == null)
+                    postData = new byte[CACHED_POST_LEN];
+                formData = postData;
+            } else {
+                formData = new byte[len];
             }
             try {
-                byte[] formData = null;
-                if (len < CACHED_POST_LEN) {
-                    if (postData == null)
-                        postData = new byte[CACHED_POST_LEN];
-                    formData = postData;
-                } else {
-                    formData = new byte[len];
+                if (readPostBody(formData, len) != len) {
+                    return;
                 }
-                int actualLen = readPostBody(formData, len);
-                if (actualLen == len) {
-                    parameters.processParameters(formData, 0, len);
+            } catch (IOException e) {
+                // Client disconnect
+                if (context.getLogger().isDebugEnabled()) {
+                    context.getLogger().debug(
+                            sm.getString("coyoteRequest.parseParameters"), e);
                 }
-            } catch (Throwable t) {
-                context.getLogger().warn(
-                        sm.getString("coyoteRequest.parseParameters"), t);
             }
+            parameters.processParameters(formData, 0, len);
         }
 
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org