Dominik Smogór created SLING-12760: --------------------------------------
Summary: Sling engine parameter filter is disrupted by osgi filters using parameters. Key: SLING-12760 URL: https://issues.apache.org/jira/browse/SLING-12760 Project: Sling Issue Type: Bug Components: Engine Affects Versions: Engine 2.7.10 Reporter: Dominik Smogór An OSGI early servlet filter (org.osgi.service.http.whiteboard.Preprocessor service) can't use getParameter* family of request methods in POST requests. Otherwise the sling's own x-www-form-urlencoded parser fails and sling request methods report 0 parameters regardless of contents of the request. The most likely cause is the fact that request input stream is consumed by parameter parser of underlying servlet engine when called from the filter. here's a piece of code to demonstrate the problem: {code:java} {code:java} @Component(service = Preprocessor.class, immediate = true, property = { HttpWhiteboardConstants.HTTP_WHITEBOARD_FILTER_PATTERN + "=/", HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT + "=(osgi.http.whiteboard.context.name=*)" }) public class FaultyFilter implements Preprocessor { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { //calling this method in processor triggers the problem. String resource = request.getParameter("someParameter"); filterChain.doFilter(servletRequest, servletResponse); } } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)