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 2014/11/10 14:35:03 UTC

svn commit: r1637839 - in /tomcat/trunk/java/org/apache/catalina: connector/CoyoteAdapter.java mapper/Mapper.java

Author: remm
Date: Mon Nov 10 13:35:02 2014
New Revision: 1637839

URL: http://svn.apache.org/r1637839
Log:
57187 again: handle * before mapping.

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    tomcat/trunk/java/org/apache/catalina/mapper/Mapper.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=1637839&r1=1637838&r2=1637839&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Mon Nov 10 13:35:02 2014
@@ -604,6 +604,27 @@ public class CoyoteAdapter implements Ad
             req.serverName().setString(proxyName);
         }
 
+        // Check for ping OPTIONS * request
+        if (req.requestURI().equals("*")) {
+            if (req.method().equalsIgnoreCase("OPTIONS")) {
+                StringBuilder allow = new StringBuilder();
+                allow.append("GET, HEAD, POST, PUT, DELETE");
+                // Trace if allowed
+                if (connector.getAllowTrace()) {
+                    allow.append(", TRACE");
+                }
+                // Always allow options
+                allow.append(", OPTIONS");
+                res.setHeader("Allow", allow.toString());
+            } else {
+                res.setStatus(404);
+                res.setMessage("Not found");
+            }
+            connector.getService().getContainer().logAccess(
+                    request, response, 0, true);
+            return false;
+        }
+
         // Copy the raw URI to the decodedURI
         MessageBytes decodedURI = req.decodedURI();
         decodedURI.duplicate(req.requestURI());

Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java?rev=1637839&r1=1637838&r2=1637839&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java (original)
+++ tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Mon Nov 10 13:35:02 2014
@@ -846,15 +846,6 @@ public final class Mapper {
 
         path.setOffset(servletPath);
 
-        if ((pathEnd - pathOffset) == 1 && path.getBuffer()[pathOffset] == '*') {
-            // Special "*" URL
-            if (contextVersion.defaultWrapper != null) {
-                mappingData.wrapper = contextVersion.defaultWrapper.object;
-                mappingData.wrapperPath.setString("*");
-            }
-            return;
-        }
-
         // Rule 1 -- Exact Match
         MappedWrapper[] exactWrappers = contextVersion.exactWrappers;
         internalMapExactWrapper(exactWrappers, path, mappingData);



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