From f6ec3d6cb42edee629de9464d1afa59dc00b5827 Mon Sep 17 00:00:00 2001 From: markt Date: Wed, 17 Sep 2008 19:26:22 +0000 Subject: [PATCH] Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=45419 Set the Accept-Ranges header on content served from the DefaultServlet. This can be disabled via configuration if required. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@696408 13f79535-47bb-0310-9956-ffa450edef68 --- conf/web.xml | 3 +++ java/org/apache/catalina/servlets/DefaultServlet.java | 14 ++++++++++++-- webapps/docs/default-servlet.xml | 7 +++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/conf/web.xml b/conf/web.xml index 88e9f4918..9c7d3445f 100644 --- a/conf/web.xml +++ b/conf/web.xml @@ -70,6 +70,9 @@ + + + diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index c6bd34b73..fc38923cf 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -154,7 +154,11 @@ public class DefaultServlet */ protected int sendfileSize = 48 * 1024; - + /** + * Should the Accept-Ranges: bytes header be send with static resources? + */ + protected boolean useAcceptRanges = true; + /** * Full range marker. */ @@ -241,6 +245,9 @@ public class DefaultServlet localXsltFile = getServletConfig().getInitParameter("localXsltFile"); readmeFile = getServletConfig().getInitParameter("readmeFile"); + if (getServletConfig().getInitParameter("useAcceptRanges") != null) + useAcceptRanges = Boolean.parseBoolean(getServletConfig().getInitParameter("useAcceptRanges")); + // Sanity check on the specified buffer sizes if (input < 256) input = 256; @@ -717,9 +724,12 @@ public class DefaultServlet contentType = "text/html;charset=UTF-8"; } else { + if (useAcceptRanges) { + // Accept ranges header + response.setHeader("Accept-Ranges", "bytes"); + } // Parse range specifier - ranges = parseRange(request, response, cacheEntry.attributes); // ETag header diff --git a/webapps/docs/default-servlet.xml b/webapps/docs/default-servlet.xml index 75e8f93e7..914c2b989 100644 --- a/webapps/docs/default-servlet.xml +++ b/webapps/docs/default-servlet.xml @@ -179,6 +179,13 @@ The DefaultServlet allows the following initParamters: to always disable sendfile. [48] + + useAcceptRanges + + If true, the Accept-Ranges header will be set when appropriate for the + response. [true] + + -- 2.11.0