[
https://issues.apache.org/jira/browse/FELIX-5053?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sten Roger Sandvik reassigned FELIX-5053:
-----------------------------------------
Assignee: Sten Roger Sandvik
> IllegalArgumentException when forwarding request
> ------------------------------------------------
>
> Key: FELIX-5053
> URL: https://issues.apache.org/jira/browse/FELIX-5053
> Project: Felix
> Issue Type: Bug
> Components: HTTP Service
> Affects Versions: http.base-3.0.0
> Reporter: Sten Roger Sandvik
> Assignee: Sten Roger Sandvik
>
> It seems to be a problem with forwarding requests in certain cases. I have
> the following setup:
> * Servlet A forwards the request to Servlet 2 (using RequestDispatcher).
> * Servlet B writes to the response using an output stream
> (HttpServletResponse.getOutputStream()).
> When this happens I get an IllegalStateException from Jetty that basically
> saying that the Writer cannot be closed since I have already used an
> OutputStream.
> The code that I think is wrong (or possibly not robust enough) is in
> RequestDispatcherImp line 84.
> {code}
> if (!request.isAsyncStarted())
> {
> response.flushBuffer();
> response.getWriter().close();
> }
> {code}
> The line that causes trouble is:
> {code}
> response.getWriter().close();
> {code}
> We should probably check if we can actually close this writer or just ignore
> the potential exception.
> In my setup I have one servlet that writes to OutputStream using
> HttpServletResponse.getOutputStream(). Then I have another servlet that
> forwards the request to the first servlet.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)