title: Using ContentCachingRequestWrapper causes Empty Parameters Map
body: <p>I have implemented a Filter, in which I want to read the content of request first for some checks and then I would like to go on.</p>
  
  <p>But the problem is, that in the following filter from the filter chain the <code>getParameters()</code> Method from <code>class Request (org.eclipse.jetty.server.Request)</code> is called and not the <code>getParameters()</code> method from <code>class ContentCachingRequestWrapper</code>. So the <code>parametersMap</code> are not filled and is always empty.</p>
  
  <p>Here is how my code looks like:</p>
  
  <pre><code>@Component
  @Order(1)
  public class EncodingFilter extends GenericFilterBean {
  
  private static final Logger LOG = 
  LoggerFactory.getLogger(EncodingFilter.class);
  
  @Override
  public void doFilter(ServletRequest request, ServletResponse response, 
  FilterChain chain) throws IOException, ServletException {
  
  final HttpServletRequest req = (HttpServletRequest) request;
  HttpServletRequest servletRequest = new ContentCachingRequestWrapper(req);
  
  String read = ByteSource.wrap(ByteStreams.toByteArray(servletRequest.getInputStream()))
          .asCharSource(StandardCharsets.UTF_8).read();
  // Doing analysis .....
  // last step call filter chain
  chain.doFilter(servletRequest, response);
  }
  }
  </code></pre>
  
  <p>And in Controller:</p>
  
  <pre><code>@PostMapping(
      value = Endpoints.Janus.INIT,
      produces = MediaType.TEXT_HTML_VALUE
  )
  public ModelAndView controller(
      @RequestParam LinkedCaseInsensitiveMap&lt;String&gt; params,
      HttpServletRequest servletRequest
  ) {
   ....  
  }
  </code></pre>
  
  <p>In the controller the params Map is always empty. 
  If I don't call servletRequest.getInputStream() in my filter, the params Map is filled. </p>
  
  <p>I am working with Spring Boot 1.5.6 with Jetty as Application Server</p>