Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] filtering to ProxyServlet issue

Hi,

I'm having some problems forwarding requests (via a filter) through to ProxyServlet$Transparent. It appears that, on returning from ProxyServlet#service, the response is being committed *before* the dispatched proxied request has returned, causing the subsequent write to that response to fail (throws IOException: closed). 

If I delay the current thread *after* it has dispatched the proxied request (by halting that thread in my filter), the proxy response content *will* correctly appear, so I know that the proxying itself is being done (in both the successful and unsuccessful cases, I see log entries on the proxied-to instance, indicating that it processed the request).

I not sure whether I've just misunderstood how the request suspension should be being dealt with -- whether that's something that I need to deal with, inside my filter (at the moment, it's simply forwarding the request to ProxyServlet and nothing much else), or whether there's an issue here. It seems like it'd be a common use of ProxyServlet, so likely the former.

We're using Jetty 7.5.1. AsyncContinuations. Our filter mapping looks like this:

   <filter-mapping>
     <filter-name>BrokenRequestFilter</filter-name>
     <url-pattern>/*</url-pattern>
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>FORWARD</dispatcher>
     <dispatcher>ASYNC</dispatcher>
   </filter-mapping>

Any help or pointers would be greatly appreciated.
Thanks,

Michael

Back to the top