[
https://issues.apache.org/jira/browse/SLING-1003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Felix Meschberger closed SLING-1003.
------------------------------------
Close after release
> 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
> Assignee: Felix Meschberger
> Priority: Minor
> Fix For: Engine 2.1.0
>
> Attachments: RequestData.diff, SlingWebCastellum-1.0.jar
>
>
> 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.