anchor.diff:  fail if the client has disconnected. The send could take the form of an empty
   (comment-only) SSE event, or any other data that the other side would have to interpret as
   a heartbeat and ignore.
  -
  -
  -
  -[[webflux-filters]]
  -=== Filters
  -[.small]#<<web.adoc#filters,Same in Spring MVC>>#
  -
  -In the <<webflux-web-handler-api>>, a `WebFilter` can be used to apply interception-style
  -logic before and after the rest of the processing chain of filters and the target
  -`WebHandler`. When using the <<webflux-config>>, registering a `WebFilter` is as simple
  -as declaring it as a Spring bean, and optionally expressing precedence via `@Order` on
  -the bean declaration or by implementing `Ordered`.
  -
  -The following describe the available `WebFilter` implementations:
  -
  -
  -[[webflux-filters-forwarded-headers]]
  -==== Forwarded Headers
  -[.small]#<<web.adoc#filters-forwarded-headers,Same in Spring MVC>>#
  -
  -As a request goes through proxies such as load balancers the host, port, and
  -scheme may change presenting a challenge for applications that need to create links
  -to resources since the links should reflect the host, port, and scheme of the
  -original request as seen from a client perspective.
  -
  -https://tools.ietf.org/html/rfc7239[RFC 7239] defines the "Forwarded" HTTP header
  -for proxies to use to provide information about the original request. There are also
  -other non-standard headers in use such as "X-Forwarded-Host", "X-Forwarded-Port",
  -and "X-Forwarded-Proto".
  -
  -`ForwardedHeaderFilter` detects, extracts, and uses information from the "Forwarded"
  -header, or from "X-Forwarded-Host", "X-Forwarded-Port", and "X-Forwarded-Proto".
  -It wraps the request in order to overlay its host, port, and scheme and also "hides"
  -the forwarded headers for subsequent processing.
  -
  -Note that there are security considerations when using forwarded headers as explained
  -in Section 8 of RFC 7239. At the application level it is difficult to determine whether
  -forwarded headers can be trusted or not. This is why the network upstream should be
  -configured correctly to filter out untrusted forwarded headers from the outside.
  -
  -Applications that don't have a proxy and don't need to use forwarded headers can
  -configure the `ForwardedHeaderFilter` to remove and ignore such headers.
  -
  -
  -[[webflux-filters-cors]]
  -==== CORS
  -[.small]#<<web.adoc#filters-cors,Same in Spring MVC>>#
  -
  -Spring WebFlux provides fine-grained support for CORS configuration through annotations on
  -controllers. However when used with Spring Security it is advisable to rely on the built-in
  -`CorsFilter` that must be ordered ahead of Spring Security's chain of filters.
  -
  -See the section on <<webflux-cors>> and the <<webflux-cors-webfilter>> for more details.
  -
  -
  -
  -[[webflux-exception-handler]]
  -=== Exceptions
  -[.small]#<<web.adoc#mvc-ann-customer-servlet-container-error-page,Same in Spring MVC>>#
  -
  -In the <<webflux-web-handler-api>>, a `WebExceptionHandler` can be used to to handle
  -exceptions from the chain of ``WebFilter``'s and the target `WebHandler`. When using the
  -<<webflux-config>>, registering a `WebExceptionHandler` is as simple as declaring it as a
  -Spring bean, and optionally expressing precedence via `@Order` on the bean declaration or
  -by implementing `Ordered`.
  -
  -Below are the available `WebExceptionHandler` implementations:
  -
  -[cols="1,2", options="header"]
  -|===
  -| Exception Handler | Description
  -
  -| `ResponseStatusExceptionHandler`
  -| Provides handling for exceptions of type
  -  {api-spring-framework}/web/server/ResponseStatusException.html[ResponseStatusException]
  -  by setting the response to the HTTP status code of the exception.
  -
  -| `WebFluxResponseStatusExceptionHandler`
  -| Extension of `ResponseStatusExceptionHandler` that can also determine the HTTP status
  -  code an `@ResponseStatus` annotation on any exception.
  -
  -  This handler is declared in the <<webflux-config>>.
  -
  -|===
   
   
   
  
positive.code: === WebHandler API
  
  The WebHandler API is a general purpose, server, web API for processing requests through a
  chain of {api-spring-framework}/web/server/WebExceptionHandler.html[WebExceptionHandler's],
  {api-spring-framework}/web/server/WebFilter.html[WebFilter's], and a target
  {api-spring-framework}/web/server/WebHandler.html[WebHandler]. The chain can be assembled
  with `WebHttpHandlerBuilder` either by adding components to the builder or by having them
  detected from a Spring `ApplicationContext`. The builder returns an
  <<webflux-httphandler>> that can then be used to run on any of the supported servers.
  
negative.code: HttpServer.create(host, port).newHandler(adapter).block();
  ----
  
  *Undertow*
  [source,java,indent=0]
  [subs="verbatim,quotes"]
  ----
  