@@ -43,6 +43,8 @@ public class UnmappedRackFilter extends AbstractFilter {
4343 // NOTE: it's true by default for backwards compatibility
4444 private Object resetUnhandledResponse = Boolean .TRUE ;
4545
46+ private boolean responseHandledByDefault = true ;
47+
4648 private Collection <Integer > responseNotHandledStatuses =
4749 // 403 due containers not supporting PUT/DELETE correctly (Tomcat 6)
4850 // 405 returned by Jetty 7/8 on PUT/DELETE requests by default
@@ -70,7 +72,7 @@ public void init(FilterConfig config) throws ServletException {
7072 String value = config .getInitParameter ("resetUnhandledResponse" );
7173 if ( value != null ) setResetUnhandledResponseValue (value );
7274
73- // ResponseCapture.defaultNotHandledStatuses e.g. "403,404,500"
75+ // ResponseCapture.notHandledStatuses e.g. "403,404,500"
7476 value = config .getInitParameter ("responseNotHandledStatuses" );
7577 if ( value != null ) {
7678 final Set <Integer > statuses = new HashSet <Integer >();
@@ -82,6 +84,11 @@ public void init(FilterConfig config) throws ServletException {
8284 }
8385 responseNotHandledStatuses = statuses ;
8486 }
87+ // ResponseCapture.handledByDefault true/false (true by default)
88+ value = config .getInitParameter ("responseHandledByDefault" );
89+ if ( value != null ) {
90+ responseHandledByDefault = Boolean .parseBoolean (value );
91+ }
8592 }
8693
8794 @ Override
@@ -148,6 +155,7 @@ else if ( isResetUnhandledResponseBuffer() ) {
148155 protected ResponseCapture wrapResponse (ServletResponse response ) {
149156 final ResponseCapture capture = super .wrapResponse (response );
150157 capture .setNotHandledStatuses ( getResponseNotHandledStatuses () );
158+ capture .setHandledByDefault ( isResponseHandledByDefault () );
151159 return capture ;
152160 }
153161
@@ -188,4 +196,12 @@ public void setDefaultNotHandledStatuses(final Collection<Integer> responseNotHa
188196 responseNotHandledStatuses == null ? Collections .EMPTY_SET : responseNotHandledStatuses ;
189197 }
190198
199+ public boolean isResponseHandledByDefault () {
200+ return responseHandledByDefault ;
201+ }
202+
203+ public void setResponseHandledByDefault (boolean responseHandledByDefault ) {
204+ this .responseHandledByDefault = responseHandledByDefault ;
205+ }
206+
191207}
0 commit comments