Port of my previous patch to tomcat 4. As previously, I took the opportunity to 
remove some unused imports.

Mark

Index: coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/  
tomcat4/CoyoteRequest.java,v
retrieving revision 1.29
diff -u -r1.29 CoyoteRequest.java
--- coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java        5 Apr 2003 
08:18:04 -0000  1.29
+++ coyote/src/java/org/apache/coyote/tomcat4/CoyoteRequest.java        1 Sep 2003 
17:32:38 -0000
@@ -88,7 +88,6 @@

 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
 import javax.servlet.ServletInputStream;
 import javax.servlet.ServletRequest;
 import javax.servlet.http.Cookie;
@@ -116,8 +115,6 @@
 import org.apache.catalina.util.StringManager;
 import org.apache.catalina.util.StringParser;

-import org.apache.tomcat.util.net.SSLSupport;
-
 /**
  * Wrapper object for the Coyote request.
  *
@@ -1097,13 +1094,23 @@
         if (servletPath == null)
             servletPath = getServletPath();

-        int pos = servletPath.lastIndexOf('/');
+        // Add the path info, if there is any
+        String pathInfo = getPathInfo();
+        String requestPath = null;
+
+        if (pathInfo == null) {
+            requestPath = servletPath;
+        } else {
+            requestPath = servletPath + pathInfo;
+        }
+
+        int pos = requestPath.lastIndexOf('/');
         String relative = null;
         if (pos >= 0) {
             relative = RequestUtil.normalize
-                (servletPath.substring(0, pos + 1) + path);
+                (requestPath.substring(0, pos + 1) + path);
         } else {
-            relative = RequestUtil.normalize(servletPath + path);
+            relative = RequestUtil.normalize(requestPath + path);
         }

         return (context.getServletContext().getRequestDispatcher(relative));

Index: catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/co  
nnector/HttpRequestBase.java,v
retrieving revision 1.39
diff -u -r1.39 HttpRequestBase.java
--- catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java       22 
Apr 2002 00:00:50 -0000 1.39
+++ catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java       1 Sep 
2003 17:26:24 -0000
@@ -76,7 +76,6 @@
 import java.util.Date;
 import java.util.Enumeration;
 import java.util.HashMap;
-import java.util.Hashtable;
 import java.util.Locale;
 import java.util.Map;
 import javax.servlet.RequestDispatcher;
@@ -94,7 +93,6 @@
 import org.apache.catalina.util.Enumerator;
 import org.apache.catalina.util.ParameterMap;
 import org.apache.catalina.util.RequestUtil;
-import org.apache.catalina.util.StringParser;


 /**
@@ -793,13 +791,24 @@
         if (servletPath == null)
             servletPath = getServletPath();

-        int pos = servletPath.lastIndexOf('/');
+        // Add the path info, if there is any
+        String pathInfo = getPathInfo();
+        String requestPath = null;
+
+        if (pathInfo == null) {
+            requestPath = servletPath;
+        } else {
+            requestPath = servletPath + pathInfo;
+        }
+
+        int pos = requestPath.lastIndexOf('/');
+
         String relative = null;
         if (pos >= 0) {
             relative = RequestUtil.normalize
-                (servletPath.substring(0, pos + 1) + path);
+                (requestPath.substring(0, pos + 1) + path);
         } else {
-            relative = RequestUtil.normalize(servletPath + path);
+            relative = RequestUtil.normalize(requestPath + path);
         }

         return (context.getServletContext().getRequestDispatcher(relative));


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to