This is 9.0.5.
I'm having an issue with an infinite loop in a filter.
I assume this is a bug, but I don't know enough about the Jetty internals to say where exactly.
Basically, my code (the Filter
) wraps the request using HttpServletRequestWrapper
and then calls chain.doFilter(wrappedRequest, response)
The chain
instance is ServletHandler$CachedChain
and doFilter
looks like this:
1465 public void doFilter(ServletRequest request, ServletResponse response)
1466 throws IOException, ServletException
1467 {
1468 final Request baseRequest=(request instanceof Request)?((Request)request):HttpChannel.getCurrentHttpChannel().getRequest();
1469
1470
1471 if (_filterHolder!=null)
1472 {
1473 if (LOG.isDebugEnabled())
1474 LOG.debug("call filter " + _filterHolder);
1475 Filter filter= _filterHolder.getFilter();
1476 if (_filterHolder.isAsyncSupported())
1477 filter.doFilter(request, response, _next);
1478 else
I have asyncSupported = true
and the filter retrieved on line 1475 is my filter that just called this method, which it then proceeds to call again on line 1477, which leads to the infinite loop.
Hope that's good enough.