FELIX-5053 : IllegalArgumentException when forwarding request
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1707662 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/RequestDispatcherImpl.java b/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/RequestDispatcherImpl.java
index 214afe2..c6a7e5f 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/RequestDispatcherImpl.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/RequestDispatcherImpl.java
@@ -25,7 +25,6 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.felix.http.base.internal.handler.FilterHandler;
import org.apache.felix.http.base.internal.registry.ServletResolution;
@@ -80,6 +79,16 @@
if (!request.isAsyncStarted())
{
response.flushBuffer();
+ try {
+ try {
+ response.getWriter().close();
+ } catch ( final IllegalStateException ise ) {
+ // output stream has been used
+ response.getOutputStream().close();
+ }
+ } catch ( final Exception ignore ) {
+ // ignore everything, see FELIX-5053
+ }
}
}
}