Integration of 3rd party servlet filters problematic
----------------------------------------------------

                 Key: SLING-1003
                 URL: https://issues.apache.org/jira/browse/SLING-1003
             Project: Sling
          Issue Type: Bug
          Components: Engine
    Affects Versions: Engine 2.0.4
         Environment: Windows Vista, 
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)
            Reporter: Christian Sprecher
            Priority: Minor


There is a problem within the chain handling: the 3rd party filter uses it's 
own wrapper for requests and response, and supplies it to the chain in the 
chain.doFilter() call. This leads to a ClassCastException on line 54 of 
AbstractSlingFilterChain:
...
           RequestProgressTracker tracker = ((SlingHttpServletRequest) 
request).getRequestProgressTracker();
...

I am not sure if this cast is valid in the context of a filter chain. On the 
other hand I am not sure wether such a use case (filter that manipulates 
request and response) has a chance to run in Sling.

==> Please note that this servlet filter needs to run as early as possible in 
the filter chain


java.lang.ClassCastException: org.webcastellum.RequestWrapper cannot be cast to
org.apache.sling.api.SlingHttpServletRequest
       at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter
(AbstractSlingFilterChain.java:54)
       at org.webcastellum.WebCastellumFilter.internalDoFilter(WebCastellumFilt
er.java:2610)
       at org.webcastellum.WebCastellumFilter.doFilter(WebCastellumFilter.java:
1710)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to