[ 
https://issues.apache.org/jira/browse/TAPESTRY-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Howard M. Lewis Ship resolved TAPESTRY-1655.
--------------------------------------------

    Resolution: Duplicate
      Assignee: Howard M. Lewis Ship

> 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
>            Assignee: Howard M. Lewis Ship
>
> 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]

Reply via email to