<static-resources-list> directive fails with directories
--------------------------------------------------------

                 Key: CXF-4190
                 URL: https://issues.apache.org/jira/browse/CXF-4190
             Project: CXF
          Issue Type: Bug
          Components: Services, Transports
    Affects Versions: 2.5, 2.4
         Environment: CXF/Spring on Tomcat 6.x
            Reporter: IngyHere


The "static-resources-list" directive is provided as an alternative to serve 
static content through the service root and as an alternative to flying one's 
own DispatcherServlet. Unfortunately, it works only for files. This leads to 
the situation where people are going nuts trying to make workarounds when they 
set their base url-pattern directive to something like "/*" or they simply want 
to serve content directly under the service path. (See 
http://java-espresso.blogspot.com/2011/09/webxml-problem-and-solution-for-url.html
 for a comparable situation.) 

The code at "org.apache.cxf.transport.servlet.AbstractHTTPServlet" in 
"serveStaticContent" provides an immediate check for content with 
{code:title=Snippet|borderStyle=dashed}
InputStream is = super.getServletContext().getResourceAsStream(pathInfo);
        if (is == null) {
            throw new ServletException("Static resource " + pathInfo + " is not 
available");
        }
{code}
and, when this fails due a directory being passed in through the request, it's 
exception time. 

An algorithm for serving static content should be implemented that assumes 
without an extension that the item passed in is a directory (and/or checks 
first for a trailing slash) and then attempts to serve up the name of the 
welcome file in the directory. 

Alternately, this could all be just passed off to DefaultDispatcher to let it 
handle the edge cases. 

Basically, this bug makes the "static-resources-list" directive effectively 
useless. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to