public final class WebHttpHandlerBuilder extends Object
One is to assemble a processing chain that consists of a target WebHandler,
 then decorated with a set of WebFilters, then further decorated with
 a set of WebExceptionHandlers.
 
The second purpose is to adapt the resulting processing chain to an HttpHandler:
 the lowest-level reactive HTTP handling abstraction which can then be used with any of the
 supported runtimes. The adaptation is done with the help of HttpWebHandlerAdapter.
 
The processing chain can be assembled manually via builder methods, or detected from
 a Spring ApplicationContext via applicationContext, or a mix of both.
HttpWebHandlerAdapter| Modifier and Type | Class and Description | 
|---|---|
| static class  | WebHttpHandlerBuilder.SpringWebBlockHoundIntegrationBlockHoundIntegrationfor spring-web classes. | 
| Modifier and Type | Field and Description | 
|---|---|
| static String | FORWARDED_HEADER_TRANSFORMER_BEAN_NAMEWell-known name for the ForwardedHeaderTransformer in the bean factory. | 
| static String | LOCALE_CONTEXT_RESOLVER_BEAN_NAMEWell-known name for the LocaleContextResolver in the bean factory. | 
| static String | SERVER_CODEC_CONFIGURER_BEAN_NAMEWell-known name for the ServerCodecConfigurer in the bean factory. | 
| static String | WEB_HANDLER_BEAN_NAMEWell-known name for the target WebHandler in the bean factory. | 
| static String | WEB_SESSION_MANAGER_BEAN_NAMEWell-known name for the WebSessionManager in the bean factory. | 
| Modifier and Type | Method and Description | 
|---|---|
| static WebHttpHandlerBuilder | applicationContext(ApplicationContext context)Static factory method to create a new builder instance by detecting beans
 in an  ApplicationContext. | 
| HttpHandler | build()Build the  HttpHandler. | 
| WebHttpHandlerBuilder | clone()Clone this  WebHttpHandlerBuilder. | 
| WebHttpHandlerBuilder | codecConfigurer(ServerCodecConfigurer codecConfigurer)Configure the  ServerCodecConfigurerto set on theWebServerExchange. | 
| WebHttpHandlerBuilder | exceptionHandler(WebExceptionHandler... handlers)Add the given exception handler(s). | 
| WebHttpHandlerBuilder | exceptionHandlers(Consumer<List<WebExceptionHandler>> consumer)Manipulate the "live" list of currently configured exception handlers. | 
| WebHttpHandlerBuilder | filter(WebFilter... filters)Add the given filter(s). | 
| WebHttpHandlerBuilder | filters(Consumer<List<WebFilter>> consumer)Manipulate the "live" list of currently configured filters. | 
| WebHttpHandlerBuilder | forwardedHeaderTransformer(ForwardedHeaderTransformer transformer)Configure the  ForwardedHeaderTransformerfor extracting and/or
 removing forwarded headers. | 
| boolean | hasCodecConfigurer()Whether a  ServerCodecConfigureris configured or not, either detected from anApplicationContextor explicitly configured viacodecConfigurer. | 
| boolean | hasForwardedHeaderTransformer()Whether a  ForwardedHeaderTransformeris configured or not, either
 detected from anApplicationContextor explicitly configured viaforwardedHeaderTransformer(ForwardedHeaderTransformer). | 
| boolean | hasHttpHandlerDecorator()Whether a decorator for  HttpHandleris configured or not viahttpHandlerDecorator(Function). | 
| boolean | hasLocaleContextResolver()Whether a  LocaleContextResolveris configured or not, either detected from anApplicationContextor explicitly configured vialocaleContextResolver. | 
| boolean | hasSessionManager()Whether a  WebSessionManageris configured or not, either detected from anApplicationContextor explicitly configured viasessionManager. | 
| WebHttpHandlerBuilder | httpHandlerDecorator(Function<HttpHandler,HttpHandler> handlerDecorator)Configure a  Functionto decorate theHttpHandlerreturned
 by this builder which effectively wraps the entireWebExceptionHandler-WebFilter-WebHandlerprocessing chain. | 
| WebHttpHandlerBuilder | localeContextResolver(LocaleContextResolver localeContextResolver)Configure the  LocaleContextResolverto set on theWebServerExchange. | 
| WebHttpHandlerBuilder | sessionManager(WebSessionManager manager)Configure the  WebSessionManagerto set on theWebServerExchange. | 
| static WebHttpHandlerBuilder | webHandler(WebHandler webHandler)Static factory method to create a new builder instance. | 
public static final String WEB_HANDLER_BEAN_NAME
public static final String WEB_SESSION_MANAGER_BEAN_NAME
public static final String SERVER_CODEC_CONFIGURER_BEAN_NAME
public static final String LOCALE_CONTEXT_RESOLVER_BEAN_NAME
public static final String FORWARDED_HEADER_TRANSFORMER_BEAN_NAME
public static WebHttpHandlerBuilder webHandler(WebHandler webHandler)
webHandler - the target handler for the requestpublic static WebHttpHandlerBuilder applicationContext(ApplicationContext context)
ApplicationContext. The following are detected:
 WebHandler [1] -- looked up by the name
 WEB_HANDLER_BEAN_NAME.
 WebFilter [0..N] -- detected by type and ordered,
 see AnnotationAwareOrderComparator.
 WebExceptionHandler [0..N] -- detected by type and
 ordered.
 HttpHandlerDecoratorFactory [0..N] -- detected by type and
 ordered.
 WebSessionManager [0..1] -- looked up by the name
 WEB_SESSION_MANAGER_BEAN_NAME.
 ServerCodecConfigurer [0..1] -- looked up by the name
 SERVER_CODEC_CONFIGURER_BEAN_NAME.
 LocaleContextResolver [0..1] -- looked up by the name
 LOCALE_CONTEXT_RESOLVER_BEAN_NAME.
 context - the application context to use for the lookuppublic WebHttpHandlerBuilder filter(WebFilter... filters)
filters - the filter(s) to add that'spublic WebHttpHandlerBuilder filters(Consumer<List<WebFilter>> consumer)
consumer - the consumer to usepublic WebHttpHandlerBuilder exceptionHandler(WebExceptionHandler... handlers)
handlers - the exception handler(s)public WebHttpHandlerBuilder exceptionHandlers(Consumer<List<WebExceptionHandler>> consumer)
consumer - the consumer to usepublic WebHttpHandlerBuilder sessionManager(WebSessionManager manager)
WebSessionManager to set on the
 WebServerExchange.
 By default DefaultWebSessionManager is used.
manager - the session managerHttpWebHandlerAdapter.setSessionManager(WebSessionManager)public boolean hasSessionManager()
WebSessionManager is configured or not, either detected from an
 ApplicationContext or explicitly configured via sessionManager.public WebHttpHandlerBuilder codecConfigurer(ServerCodecConfigurer codecConfigurer)
ServerCodecConfigurer to set on the WebServerExchange.codecConfigurer - the codec configurerpublic boolean hasCodecConfigurer()
ServerCodecConfigurer is configured or not, either detected from an
 ApplicationContext or explicitly configured via codecConfigurer.public WebHttpHandlerBuilder localeContextResolver(LocaleContextResolver localeContextResolver)
LocaleContextResolver to set on the
 WebServerExchange.localeContextResolver - the locale context resolverpublic boolean hasLocaleContextResolver()
LocaleContextResolver is configured or not, either detected from an
 ApplicationContext or explicitly configured via localeContextResolver.public WebHttpHandlerBuilder forwardedHeaderTransformer(ForwardedHeaderTransformer transformer)
ForwardedHeaderTransformer for extracting and/or
 removing forwarded headers.transformer - the transformerpublic boolean hasForwardedHeaderTransformer()
ForwardedHeaderTransformer is configured or not, either
 detected from an ApplicationContext or explicitly configured via
 forwardedHeaderTransformer(ForwardedHeaderTransformer).public WebHttpHandlerBuilder httpHandlerDecorator(Function<HttpHandler,HttpHandler> handlerDecorator)
Function to decorate the HttpHandler returned
 by this builder which effectively wraps the entire
 WebExceptionHandler - WebFilter - WebHandler
 processing chain. This provides access to the request and response before
 the entire chain and likewise the ability to observe the result of
 the entire chain.handlerDecorator - the decorator to applypublic boolean hasHttpHandlerDecorator()
HttpHandler is configured or not via
 httpHandlerDecorator(Function).public HttpHandler build()
HttpHandler.public WebHttpHandlerBuilder clone()
WebHttpHandlerBuilder.