Lazily Create Throwables

Fixes: gh-5040
This commit is contained in:
Rob Winch
2018-02-26 16:23:03 -06:00
parent bb59733736
commit 8d75554b6b
4 changed files with 5 additions and 5 deletions

View File

@@ -95,9 +95,9 @@ public class CsrfWebFilter implements WebFilter {
private Mono<Void> validateToken(ServerWebExchange exchange) {
return this.csrfTokenRepository.loadToken(exchange)
.switchIfEmpty(Mono.error(new CsrfException("CSRF Token has been associated to this client")))
.switchIfEmpty(Mono.defer(() -> Mono.error(new CsrfException("CSRF Token has been associated to this client"))))
.filterWhen(expected -> containsValidCsrfToken(exchange, expected))
.switchIfEmpty(Mono.error(new CsrfException("Invalid CSRF Token")))
.switchIfEmpty(Mono.defer(() -> Mono.error(new CsrfException("Invalid CSRF Token"))))
.then();
}