Merge branch '1.1.x'
This commit is contained in:
commit
8635724521
|
|
@ -112,7 +112,7 @@ class ErrorPageFilter extends AbstractConfigurableEmbeddedServletContainer imple
|
|||
handleErrorStatus(request, response, status, wrapped.getMessage());
|
||||
response.flushBuffer();
|
||||
}
|
||||
else if (!request.isAsyncStarted()) {
|
||||
else if (!request.isAsyncStarted() && !response.isCommitted()) {
|
||||
response.flushBuffer();
|
||||
}
|
||||
}
|
||||
|
|
@ -184,7 +184,7 @@ class ErrorPageFilter extends AbstractConfigurableEmbeddedServletContainer imple
|
|||
+ request.getRequestURI() + " as the response has already been"
|
||||
+ " committed. As a result, the response may have the wrong status"
|
||||
+ " code. If your application is running on WebSphere Application"
|
||||
+ " Server you may be able to resolve this problem by setting "
|
||||
+ " Server you may be able to resolve this problem by setting"
|
||||
+ " com.ibm.ws.webcontainer.invokeFlushAfterService to false";
|
||||
if (ex == null) {
|
||||
logger.error(message);
|
||||
|
|
|
|||
|
|
@ -40,6 +40,10 @@ import static org.junit.Assert.assertFalse;
|
|||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
/**
|
||||
* Tests for {@link ErrorPageFilter}.
|
||||
|
|
@ -343,4 +347,16 @@ public class ErrorPageFilterTests {
|
|||
assertTrue(this.response.isCommitted());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void responseIsNotFlushedIfStatusIsLessThan400AndItHasAlreadyBeenCommitted()
|
||||
throws Exception {
|
||||
HttpServletResponse committedResponse = mock(HttpServletResponse.class);
|
||||
given(committedResponse.isCommitted()).willReturn(true);
|
||||
given(committedResponse.getStatus()).willReturn(200);
|
||||
|
||||
this.filter.doFilter(this.request, committedResponse, this.chain);
|
||||
|
||||
verify(committedResponse, times(0)).flushBuffer();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue