StaticFilesFilter dot (".") heuristic also matches sub-component event URLs
---------------------------------------------------------------------------
Key: TAPESTRY-1655
URL: https://issues.apache.org/jira/browse/TAPESTRY-1655
Project: Tapestry
Issue Type: Bug
Components: tapestry-core
Affects Versions: 5.0.5
Reporter: Nick Westgate
>From the source of StaticFilesFilter:
"
// We are making the questionable assumption that all files to be
vended out will contain
// an extension (with a dot seperator). Without this, the filter tends
to match against
// folder names when we don't want it to (especially for the root
context path).
if (path.contains("."))
"
This unfortunately also matches sub-component event URLs such as:
http://localhost:8080/kzoku/mypage.chart_0:CHART/1
It is mainly an annoyance in terms of performance and verbose error logging,
since such a resource will not be found, and Jetty will log:
2007/07/19 16:45:14,500 WARN (util.Credential) - EXCEPTION
java.io.IOException: The filename, directory name, or volume label syntax is
incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:395)
at java.io.File.getCanonicalPath(File.java:531)
at org.mortbay.util.FileResource.getAlias(FileResource.java:176)
at org.mortbay.http.ResourceCache.getResource(ResourceCache.java:252)
at org.mortbay.http.HttpContext.getResource(HttpContext.java:2118)
at
org.mortbay.jetty.servlet.WebApplicationContext.getResource(WebApplicationContext.java:785)
at
org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:735)
at
org.mortbay.jetty.servlet.ServletHandler$Context.getResource(ServletHandler.java:1082)
at
org.apache.tapestry.internal.services.ContextImpl.getResource(ContextImpl.java:44)
at $Context_113dd6f0f1b.getResource($Context_113dd6f0f1b.java)
at $Context_113dd6f0f14.getResource($Context_113dd6f0f14.java)
at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:57)
at $RequestHandler_113dd6f0f1a.service($RequestHandler_113dd6f0f1a.java)
at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:97)
at
org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:88)
at
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
at
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:110)
at $RequestHandler_113dd6f0f1a.service($RequestHandler_113dd6f0f1a.java)
at $RequestHandler_113dd6f0f11.service($RequestHandler_113dd6f0f11.java)
at
org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:1044)
at
$HttpServletRequestHandler_113dd6f0f10.service($HttpServletRequestHandler_113dd6f0f10.java)
at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
at
org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
2007/07/19 16:45:14,531 WARN (http.ResourceCache) - Alias request of
'file:/D:/Nick/Dev/Eclipse%203.2/kzoku/src/main/webapp/mypage.chart_0:CHART/1'
for
'file:/D:/Nick/Dev/Eclipse%203.2/kzoku/src/main/webapp/mypage.chart_0:CHART/1'
Cheers,
Nick.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]