cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "IngyHere (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CXF-4190) <static-resources-list> directive fails with directories
Date Thu, 22 Mar 2012 00:23:26 GMT
<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

        

Mime
View raw message