Handle ClassCastException

This commit is contained in:
Ryan Baxter
2018-07-27 16:08:29 -04:00
parent 20352a1b64
commit 831008f42d

View File

@@ -60,8 +60,12 @@ public class ReadBodyPredicateFactory
Object cachedBody = exchange.getAttribute(CACHE_REQUEST_BODY_OBJECT_KEY);
Mono<?> modifiedBody;
if(cachedBody != null) {
boolean test = config.predicate.test(cachedBody);
exchange.getAttributes().put(TEST_ATTRIBUTE, test);
try {
boolean test = config.predicate.test(cachedBody);
exchange.getAttributes().put(TEST_ATTRIBUTE, test);
} catch(ClassCastException e) {
//predicate test failed because class in predicate does not match the cached body object
}
modifiedBody = Mono.just(cachedBody);
} else {
ServerRequest serverRequest = new DefaultServerRequest(exchange);