Revert r1031709
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sat, 13 Nov 2010 12:46:30 +0000 (12:46 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sat, 13 Nov 2010 12:46:30 +0000 (12:46 +0000)
Parallel deployment implementation is changing as a result of discussion on the dev list and this re-ordering was specific to the previous implementation.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1034748 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/connector/CoyoteAdapter.java

index 759e152..90556c9 100644 (file)
@@ -575,6 +575,33 @@ public class CoyoteAdapter implements Adapter {
         request.setContext((Context) request.getMappingData().context);
         request.setWrapper((Wrapper) request.getMappingData().wrapper);
 
+        // Filter trace method
+        if (!connector.getAllowTrace() 
+                && req.method().equalsIgnoreCase("TRACE")) {
+            Wrapper wrapper = request.getWrapper();
+            String header = null;
+            if (wrapper != null) {
+                String[] methods = wrapper.getServletMethods();
+                if (methods != null) {
+                    for (int i=0; i<methods.length; i++) {
+                        if ("TRACE".equals(methods[i])) {
+                            continue;
+                        }
+                        if (header == null) {
+                            header = methods[i];
+                        } else {
+                            header += ", " + methods[i];
+                        }
+                    }
+                }
+            }                               
+            res.setStatus(405);
+            res.addHeader("Allow", header);
+            res.setMessage("TRACE method is not allowed");
+            request.getContext().logAccess(request, response, 0, true);
+            return false;
+        }
+
         // If there is no context at this point, it is likely no ROOT context
         // has been deployed
         if (request.getContext() == null) {
@@ -601,10 +628,6 @@ public class CoyoteAdapter implements Adapter {
             }
         }
 
-        // Look for session ID in cookies and SSL session
-        parseSessionCookiesId(req, request);
-        parseSessionSslId(request);
-
         // Possible redirect
         MessageBytes redirectPathMB = request.getMappingData().redirectPath;
         if (!redirectPathMB.isNull()) {
@@ -628,33 +651,9 @@ public class CoyoteAdapter implements Adapter {
             return false;
         }
 
-        // Filter trace method
-        if (!connector.getAllowTrace() 
-                && req.method().equalsIgnoreCase("TRACE")) {
-            Wrapper wrapper = request.getWrapper();
-            String header = null;
-            if (wrapper != null) {
-                String[] methods = wrapper.getServletMethods();
-                if (methods != null) {
-                    for (int i=0; i<methods.length; i++) {
-                        if ("TRACE".equals(methods[i])) {
-                            continue;
-                        }
-                        if (header == null) {
-                            header = methods[i];
-                        } else {
-                            header += ", " + methods[i];
-                        }
-                    }
-                }
-            }                               
-            res.setStatus(405);
-            res.addHeader("Allow", header);
-            res.setMessage("TRACE method is not allowed");
-            request.getContext().logAccess(request, response, 0, true);
-            return false;
-        }
-
+        // Finally look for session ID in cookies and SSL session
+        parseSessionCookiesId(req, request);
+        parseSessionSslId(request);
         return true;
     }