org.springframework.http.server.reactive

## Class AbstractListenerServerHttpResponse

- java.lang.Object
- - org.springframework.http.server.reactive.AbstractServerHttpResponse
  - - org.springframework.http.server.reactive.AbstractListenerServerHttpResponse

- All Implemented Interfaces:
    HttpMessage, ReactiveHttpOutputMessage, ServerHttpResponse

      public abstract class AbstractListenerServerHttpResponse
      extends AbstractServerHttpResponse

  Abstract base class for listener-based server responses, e.g. Servlet 3.1 and Undertow.
  Since:
    5.0
  Author:
    Arjen Poutsma

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractListenerServerHttpResponse(DataBufferFactory bufferFactory)`
    `AbstractListenerServerHttpResponse(DataBufferFactory bufferFactory, HttpHeaders headers)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract Processor<? super Publisher<? extends DataBuffer>,Void>` | `createBodyFlushProcessor()` Abstract template method to create a `Processor<Publisher<DataBuffer>, Void>` that will write the response body with flushes to the underlying output.
    `protected reactor.core.publisher.Mono<Void>` | `writeAndFlushWithInternal(Publisher<? extends Publisher<? extends DataBuffer>> body)` Write to the underlying the response, and flush after each `Publisher<DataBuffer>`.
    `protected reactor.core.publisher.Mono<Void>` | `writeWithInternal(Publisher<? extends DataBuffer> body)` Write to the underlying the response.

    - ### Methods inherited from class org.springframework.http.server.reactive.AbstractServerHttpResponse

      `addCookie, applyCookies, applyHeaders, applyStatusCode, beforeCommit, bufferFactory, doCommit, doCommit, getCookies, getHeaders, getNativeResponse, getRawStatusCode, getStatusCode, getStatusCodeValue, isCommitted, setComplete, setRawStatusCode, setStatusCode, setStatusCodeValue, touchDataBuffer, writeAndFlushWith, writeWith`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractListenerServerHttpResponse

          public AbstractListenerServerHttpResponse(DataBufferFactory bufferFactory)

    - #### AbstractListenerServerHttpResponse

          public AbstractListenerServerHttpResponse(DataBufferFactory bufferFactory,
                                                    HttpHeaders headers)

  - ### Method Detail

    - #### writeWithInternal

          protected final reactor.core.publisher.Mono<Void> writeWithInternal(Publisher<? extends DataBuffer> body)

      Description copied from class: `AbstractServerHttpResponse`
      Write to the underlying the response.
      Specified by:
        `writeWithInternal` in class `AbstractServerHttpResponse`
      Parameters:
        `body` - the publisher to write with

    - #### writeAndFlushWithInternal

          protected final reactor.core.publisher.Mono<Void> writeAndFlushWithInternal(Publisher<? extends Publisher<? extends DataBuffer>> body)

      Description copied from class: `AbstractServerHttpResponse`
      Write to the underlying the response, and flush after each `Publisher<DataBuffer>`.
      Specified by:
        `writeAndFlushWithInternal` in class `AbstractServerHttpResponse`
      Parameters:
        `body` - the publisher to write and flush with

    - #### createBodyFlushProcessor

          protected abstract Processor<? super Publisher<? extends DataBuffer>,Void> createBodyFlushProcessor()

      Abstract template method to create a `Processor<Publisher<DataBuffer>, Void>` that will write the response body with flushes to the underlying output. Called from `writeAndFlushWithInternal(Publisher)`.