[jira] Updated: (SLING-1003) Integration of 3rd party servlet filters problematic
[ https://issues.apache.org/jira/browse/SLING-1003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christian Sprecher updated SLING-1003: -- Attachment: RequestData.diff Patch for RequestData#unwrap(SlingHttpServletRequest): *foreign* ServletWrappers are allowed. Please test it carefully! It runs both with and without the webcastellum filter, but I only tested it in standard configuration, i.e. no special filters enabled 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.0.6 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.
[jira] Updated: (SLING-1003) Integration of 3rd party servlet filters problematic
[ https://issues.apache.org/jira/browse/SLING-1003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christian Sprecher updated SLING-1003: -- Attachment: SlingWebCastellum-1.0.jar The corpus delicti: OSGI-fied WebCastellum version. Creates a Component named org.webcastellum.WebCastellumFilter, which needs to be started explicitely 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.0.6 Attachments: 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.