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 2003/01/29 22:23:29 UTC

cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ApplicationFilterFactory.java StandardContextValve.java StandardWrapperValve.java

remm        2003/01/29 13:23:29

  Modified:    catalina/src/share/org/apache/catalina/core
                        ApplicationFilterFactory.java
                        StandardContextValve.java StandardWrapperValve.java
  Log:
  - Code simplifications using the request path.
  
  Revision  Changes    Path
  1.6       +10 -6     jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java
  
  Index: ApplicationFilterFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterFactory.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ApplicationFilterFactory.java	27 Nov 2002 20:34:20 -0000	1.5
  +++ ApplicationFilterFactory.java	29 Jan 2003 21:23:29 -0000	1.6
  @@ -91,10 +91,14 @@
   public final class ApplicationFilterFactory {
   
       public static final int ERROR = 1;
  -    public static final int FORWARD =2;
  -    public static final int INCLUDE  =4;
  +    public static final Integer ERROR_INTEGER = new Integer(ERROR);
  +    public static final int FORWARD = 2;
  +    public static final Integer FORWARD_INTEGER = new Integer(FORWARD);
  +    public static final int INCLUDE = 4;
  +    public static final Integer INCLUDE_INTEGER = new Integer(INCLUDE);
       public static final int REQUEST = 8;
  -    
  +    public static final Integer REQUEST_INTEGER = new Integer(REQUEST);
  +
       public static final String DISPATCHER_TYPE_ATTR="org.apache.catalina.core.DISPATCHER_TYPE";
       public static final String DISPATCHER_REQUEST_PATH_ATTR="org.apache.catalina.core.DISPATCHER_REQUEST_PATH";
   
  
  
  
  1.5       +9 -27     jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContextValve.java
  
  Index: StandardContextValve.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardContextValve.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- StandardContextValve.java	29 Jan 2003 12:50:52 -0000	1.4
  +++ StandardContextValve.java	29 Jan 2003 21:23:29 -0000	1.5
  @@ -162,29 +162,11 @@
   
           // Disallow any direct access to resources under WEB-INF or META-INF
           HttpRequest hreq = (HttpRequest) request;
  -        MessageBytes contextPathMB = hreq.getContextPathMB();
  -        int length = contextPathMB.getLength();
  -        MessageBytes decodedURIMB = hreq.getDecodedRequestURIMB();
  -        decodedURIMB.toChars();
  -        CharChunk decodedURIBC = decodedURIMB.getCharChunk();
  -        int bcLength = decodedURIBC.getLength();
  -        boolean notFound = false;
  -        if (decodedURIBC.startsWithIgnoreCase("/META-INF", length)) {
  -            if ((decodedURIBC.getLength() == ("/META-INF".length() + length)) 
  -                || (decodedURIBC.getBuffer()["/META-INF".length() + length] 
  -                    == '/')) {
  -                notFound = true;
  -            }
  -        }
  -        if (decodedURIBC.startsWithIgnoreCase("/WEB-INF", length)) {
  -            if ((decodedURIBC.getLength() == ("/WEB-INF".length() + length)) 
  -                || (decodedURIBC.getBuffer()["/WEB-INF".length() + length] 
  -                    == '/')) {
  -                System.out.println("Not found");
  -                notFound = true;
  -            }
  -        }
  -        if (notFound) {
  +        MessageBytes requestPathMB = hreq.getRequestPathMB();
  +        if ((requestPathMB.startsWithIgnoreCase("/META-INF/", 0))
  +            || (requestPathMB.equalsIgnoreCase("/META-INF"))
  +            || (requestPathMB.startsWithIgnoreCase("/WEB-INF/", 0))
  +            || (requestPathMB.equalsIgnoreCase("/WEB-INF"))) {
               String requestURI = hreq.getDecodedRequestURI();
               notFound(requestURI, (HttpServletResponse) response.getResponse());
               return;
  
  
  
  1.10      +14 -13    jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java
  
  Index: StandardWrapperValve.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- StandardWrapperValve.java	24 Jan 2003 23:47:46 -0000	1.9
  +++ StandardWrapperValve.java	29 Jan 2003 21:23:29 -0000	1.10
  @@ -79,6 +79,9 @@
   import javax.servlet.http.HttpServlet;
   import javax.servlet.http.HttpServletRequest;
   import javax.servlet.http.HttpServletResponse;
  +
  +import org.apache.tomcat.util.buf.MessageBytes;
  +
   import org.apache.catalina.Container;
   import org.apache.catalina.Context;
   import org.apache.catalina.Globals;
  @@ -185,6 +188,9 @@
           long t1=System.currentTimeMillis();
           requestCount++;
           StandardWrapper wrapper = (StandardWrapper) getContainer();
  +        HttpRequest hrequest = null;
  +        if (request instanceof HttpRequest)
  +            hrequest = (HttpRequest) request;
           ServletRequest sreq = request.getRequest();
           ServletResponse sres = response.getResponse();
           Servlet servlet = null;
  @@ -259,21 +265,16 @@
               exception(request, response, e);
               servlet = null;
           }
  -        String requestPath = null;
  +        MessageBytes requestPathMB = null;
           if (hreq != null) {
  -            String contextPath = hreq.getContextPath();
  -            if (contextPath == null)
  -                contextPath = "";
  -            String requestURI = ((HttpRequest) request).getDecodedRequestURI();
  -            if (requestURI.length() >= contextPath.length())
  -                requestPath = requestURI.substring(contextPath.length());
  +            requestPathMB = hrequest.getRequestPathMB();
           }
           sreq.setAttribute
               (ApplicationFilterFactory.DISPATCHER_TYPE_ATTR,
  -             new Integer(ApplicationFilterFactory.REQUEST));
  +             ApplicationFilterFactory.REQUEST_INTEGER);
           sreq.setAttribute
               (ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, 
  -             requestPath);
  +             requestPathMB.toString());
           // Create the filter chain for this request
           ApplicationFilterFactory factory = 
               ApplicationFilterFactory.getInstance();
  
  
  

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