[ https://issues.apache.org/jira/browse/SLING-12760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946757#comment-17946757 ]
Carsten Ziegeler commented on SLING-12760: ------------------------------------------ yes, this is a known restriction. Hopefully, it will be fixed with SLING-12497 > Sling engine POST parameter parser is disrupted by osgi whiteboard 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 > Priority: Minor > > 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 (tested with jetty on AEM 6.5) > when called from the filter. > > here's a piece of code to demonstrate the problem: > {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)