Optimize uses of onErrorResume()
This commit replaces uses of onErrorResume() with - onErrorMap() in places where onErrorResume() is just used to map to a different exception. - onErrorComplete() where onErrorResume() just maps to Mono.empty(). - onErrorReturn() where onErrorResum() just maps to Mono.just(). Closes gh-31352
This commit is contained in:
@@ -186,11 +186,11 @@ final class DefaultWebClient implements WebClient {
|
||||
}
|
||||
|
||||
private static Mono<Void> releaseIfNotConsumed(ClientResponse response) {
|
||||
return response.releaseBody().onErrorResume(ex2 -> Mono.empty());
|
||||
return response.releaseBody().onErrorComplete();
|
||||
}
|
||||
|
||||
private static <T> Mono<T> releaseIfNotConsumed(ClientResponse response, Throwable ex) {
|
||||
return response.releaseBody().onErrorResume(ex2 -> Mono.empty()).then(Mono.error(ex));
|
||||
return response.releaseBody().onErrorComplete().then(Mono.error(ex));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@ public abstract class AbstractMessageReaderArgumentResolver extends HandlerMetho
|
||||
logger.debug(exchange.getLogPrefix() + "0..N [" + elementType + "]");
|
||||
}
|
||||
Flux<?> flux = reader.read(actualType, elementType, request, response, readHints);
|
||||
flux = flux.onErrorResume(ex -> Flux.error(handleReadError(bodyParam, ex)));
|
||||
flux = flux.onErrorMap(ex -> handleReadError(bodyParam, ex));
|
||||
if (isBodyRequired) {
|
||||
flux = flux.switchIfEmpty(Flux.error(() -> handleMissingBody(bodyParam)));
|
||||
}
|
||||
@@ -199,7 +199,7 @@ public abstract class AbstractMessageReaderArgumentResolver extends HandlerMetho
|
||||
logger.debug(exchange.getLogPrefix() + "0..1 [" + elementType + "]");
|
||||
}
|
||||
Mono<?> mono = reader.readMono(actualType, elementType, request, response, readHints);
|
||||
mono = mono.onErrorResume(ex -> Mono.error(handleReadError(bodyParam, ex)));
|
||||
mono = mono.onErrorMap(ex -> handleReadError(bodyParam, ex));
|
||||
if (isBodyRequired) {
|
||||
mono = mono.switchIfEmpty(Mono.error(() -> handleMissingBody(bodyParam)));
|
||||
}
|
||||
|
||||
@@ -223,7 +223,7 @@ public class FreeMarkerView extends AbstractUrlBasedView {
|
||||
return lookupTemplate(locale)
|
||||
.map(template -> Boolean.TRUE)
|
||||
.switchIfEmpty(Mono.just(Boolean.FALSE))
|
||||
.onErrorResume(FileNotFoundException.class, t -> Mono.just(Boolean.FALSE))
|
||||
.onErrorReturn(FileNotFoundException.class, Boolean.FALSE)
|
||||
.onErrorMap(ParseException.class, ex -> new ApplicationContextException(
|
||||
"Failed to parse FreeMarker template for URL [" + getUrl() + "]", ex))
|
||||
.onErrorMap(IOException.class, ex -> new ApplicationContextException(
|
||||
|
||||
Reference in New Issue
Block a user