This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 69ada81cca Remove unnecessary code
69ada81cca is described below

commit 69ada81cca80cfe1421308caee610a15a5327558
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Dec 13 16:06:24 2024 +0000

    Remove unnecessary code
---
 .../apache/catalina/servlets/DefaultServlet.java   | 27 +++++-----------------
 1 file changed, 6 insertions(+), 21 deletions(-)

diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java 
b/java/org/apache/catalina/servlets/DefaultServlet.java
index caaf0111fe..ab2e39d5fe 100644
--- a/java/org/apache/catalina/servlets/DefaultServlet.java
+++ b/java/org/apache/catalina/servlets/DefaultServlet.java
@@ -1444,6 +1444,9 @@ public class DefaultServlet extends HttpServlet {
 
     /**
      * Parse the range header.
+     * <p>
+     * The caller is required to have confirmed that the requested resource 
exists and is a file before calling this
+     * method.
      *
      * @param request  The servlet request we are processing
      * @param response The servlet response we are creating
@@ -1465,7 +1468,7 @@ public class DefaultServlet extends HttpServlet {
             return FULL;
         }
 
-        if (!"GET".equals(request.getMethod()) || 
!determineRangeRequestsApplicable(resource)) {
+        if (!"GET".equals(request.getMethod()) || !isRangeRequestsSupported()) 
{
             // RFC 9110 - Section 14.2: GET is the only method for which range 
handling is defined.
             // Otherwise MUST ignore a Range header field
             return FULL;
@@ -2324,7 +2327,8 @@ public class DefaultServlet extends HttpServlet {
 
 
     /**
-     * Check if the if-range condition is satisfied.
+     * Check if the if-range condition is satisfied. The calling method is 
required to ensure a Range header is present
+     * and that Range requests are supported for the current resource.
      *
      * @param request  The servlet request we are processing
      * @param response The servlet response we are creating
@@ -2341,12 +2345,6 @@ public class DefaultServlet extends HttpServlet {
         String resourceETag = generateETag(resource);
         long resourceLastModified = resource.getLastModified();
 
-        String rangeHeader = request.getHeader("Range");
-        if (rangeHeader == null || 
!determineRangeRequestsApplicable(resource)) {
-            // Simply ignore If-Range header field
-            return true;
-        }
-
         Enumeration<String> headerEnum = request.getHeaders("If-Range");
         if (!headerEnum.hasMoreElements()) {
             // If-Range is not present
@@ -2397,19 +2395,6 @@ public class DefaultServlet extends HttpServlet {
         return true;
     }
 
-    /**
-     * Determines if range-request is applicable for the target resource.
-     * <p>
-     * Subclass have an opportunity to customize by overriding this method.
-     *
-     * @param resource the target resource
-     *
-     * @return <code>true</code> only if range requests is supported by both 
the server and the target resource.
-     */
-    protected boolean determineRangeRequestsApplicable(WebResource resource) {
-        return isRangeRequestsSupported() && resource.isFile() && 
resource.exists();
-    }
-
     /**
      * Provides the entity tag (the ETag header) for the given resource. 
Intended to be over-ridden by custom
      * DefaultServlet implementations that wish to use an alternative format 
for the entity tag.


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

Reply via email to