@@ -43,6 +43,8 @@ public class UnmappedRackFilter extends AbstractFilter {
43
43
// NOTE: it's true by default for backwards compatibility
44
44
private Object resetUnhandledResponse = Boolean .TRUE ;
45
45
46
+ private boolean responseHandledByDefault = true ;
47
+
46
48
private Collection <Integer > responseNotHandledStatuses =
47
49
// 403 due containers not supporting PUT/DELETE correctly (Tomcat 6)
48
50
// 405 returned by Jetty 7/8 on PUT/DELETE requests by default
@@ -70,7 +72,7 @@ public void init(FilterConfig config) throws ServletException {
70
72
String value = config .getInitParameter ("resetUnhandledResponse" );
71
73
if ( value != null ) setResetUnhandledResponseValue (value );
72
74
73
- // ResponseCapture.defaultNotHandledStatuses e.g. "403,404,500"
75
+ // ResponseCapture.notHandledStatuses e.g. "403,404,500"
74
76
value = config .getInitParameter ("responseNotHandledStatuses" );
75
77
if ( value != null ) {
76
78
final Set <Integer > statuses = new HashSet <Integer >();
@@ -82,6 +84,11 @@ public void init(FilterConfig config) throws ServletException {
82
84
}
83
85
responseNotHandledStatuses = statuses ;
84
86
}
87
+ // ResponseCapture.handledByDefault true/false (true by default)
88
+ value = config .getInitParameter ("responseHandledByDefault" );
89
+ if ( value != null ) {
90
+ responseHandledByDefault = Boolean .parseBoolean (value );
91
+ }
85
92
}
86
93
87
94
@ Override
@@ -148,6 +155,7 @@ else if ( isResetUnhandledResponseBuffer() ) {
148
155
protected ResponseCapture wrapResponse (ServletResponse response ) {
149
156
final ResponseCapture capture = super .wrapResponse (response );
150
157
capture .setNotHandledStatuses ( getResponseNotHandledStatuses () );
158
+ capture .setHandledByDefault ( isResponseHandledByDefault () );
151
159
return capture ;
152
160
}
153
161
@@ -188,4 +196,12 @@ public void setDefaultNotHandledStatuses(final Collection<Integer> responseNotHa
188
196
responseNotHandledStatuses == null ? Collections .EMPTY_SET : responseNotHandledStatuses ;
189
197
}
190
198
199
+ public boolean isResponseHandledByDefault () {
200
+ return responseHandledByDefault ;
201
+ }
202
+
203
+ public void setResponseHandledByDefault (boolean responseHandledByDefault ) {
204
+ this .responseHandledByDefault = responseHandledByDefault ;
205
+ }
206
+
191
207
}
0 commit comments