org.springframework.http

Interface ReactiveHttpOutputMessage

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method and Description
      void beforeCommit(java.util.function.Supplier<? extends reactor.core.publisher.Mono<java.lang.Void>> action)
      Register an action to apply just before the HttpOutputMessage is committed.
      DataBufferFactory bufferFactory()
      Return a DataBufferFactory that can be used to create the body.
      boolean isCommitted()
      Whether the HttpOutputMessage is committed.
      reactor.core.publisher.Mono<java.lang.Void> setComplete()
      Indicate that message handling is complete, allowing for any cleanup or end-of-processing tasks to be performed such as applying header changes made via HttpMessage.getHeaders() to the underlying HTTP message (if not applied already).
      reactor.core.publisher.Mono<java.lang.Void> writeAndFlushWith(org.reactivestreams.Publisher<? extends org.reactivestreams.Publisher<? extends DataBuffer>> body)
      Use the given Publisher of Publishers to write the body of the HttpOutputMessage to the underlying HTTP layer, flushing after each Publisher<DataBuffer>.
      reactor.core.publisher.Mono<java.lang.Void> writeWith(org.reactivestreams.Publisher<? extends DataBuffer> body)
      Use the given Publisher to write the body of the message to the underlying HTTP layer.
    • Method Detail

      • beforeCommit

        void beforeCommit(java.util.function.Supplier<? extends reactor.core.publisher.Mono<java.lang.Void>> action)
        Register an action to apply just before the HttpOutputMessage is committed.

        Note: the supplied action must be properly deferred, e.g. via Mono.defer(java.util.function.Supplier<? extends reactor.core.publisher.Mono<? extends T>>) or Mono.fromRunnable(java.lang.Runnable), to ensure it's executed in the right order, relative to other actions.

        Parameters:
        action - the action to apply
      • isCommitted

        boolean isCommitted()
        Whether the HttpOutputMessage is committed.
      • writeWith

        reactor.core.publisher.Mono<java.lang.Void> writeWith(org.reactivestreams.Publisher<? extends DataBuffer> body)
        Use the given Publisher to write the body of the message to the underlying HTTP layer.
        Parameters:
        body - the body content publisher
        Returns:
        a Mono that indicates completion or error
      • writeAndFlushWith

        reactor.core.publisher.Mono<java.lang.Void> writeAndFlushWith(org.reactivestreams.Publisher<? extends org.reactivestreams.Publisher<? extends DataBuffer>> body)
        Use the given Publisher of Publishers to write the body of the HttpOutputMessage to the underlying HTTP layer, flushing after each Publisher<DataBuffer>.
        Parameters:
        body - the body content publisher
        Returns:
        a Mono that indicates completion or error
      • setComplete

        reactor.core.publisher.Mono<java.lang.Void> setComplete()
        Indicate that message handling is complete, allowing for any cleanup or end-of-processing tasks to be performed such as applying header changes made via HttpMessage.getHeaders() to the underlying HTTP message (if not applied already).

        This method should be automatically invoked at the end of message processing so typically applications should not have to invoke it. If invoked multiple times it should have no side effects.

        Returns:
        a Mono that indicates completion or error