From 1c9d4deba2fc4506f8160b9ef6a8813b081cf460 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Fri, 10 Mar 2017 10:57:31 -0500 Subject: [PATCH] Add methods to prepend WebFilter + WebExceptionHandler --- .../server/adapter/WebHttpHandlerBuilder.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java index 2afb3a25ee..ac070f6f71 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java @@ -131,7 +131,7 @@ public class WebHttpHandlerBuilder { /** - * Add the given filters to use for processing requests. + * Add the given filters. * @param filters the filters to add */ public WebHttpHandlerBuilder filters(List filters) { @@ -142,7 +142,17 @@ public class WebHttpHandlerBuilder { } /** - * Add the given exception handler to apply at the end of request processing. + * Insert the given filter before other configured filters. + * @param filter the filters to insert + */ + public WebHttpHandlerBuilder prependFilter(WebFilter filter) { + Assert.notNull(filter, "WebFilter is required"); + this.filters.add(0, filter); + return this; + } + + /** + * Add the given exception handlers. * @param handlers the exception handlers */ public WebHttpHandlerBuilder exceptionHandlers(List handlers) { @@ -152,6 +162,16 @@ public class WebHttpHandlerBuilder { return this; } + /** + * Insert the given exception handler before other configured handlers. + * @param handler the exception handler to insert + */ + public WebHttpHandlerBuilder prependExceptionHandler(WebExceptionHandler handler) { + Assert.notNull(handler, "WebExceptionHandler is required"); + this.exceptionHandlers.add(0, handler); + return this; + } + /** * Configure the {@link WebSessionManager} to set on the * {@link ServerWebExchange WebServerExchange}.