public abstract class AbstractServerHttpResponse extends java.lang.Object implements ServerHttpResponse
ServerHttpResponse implementations.| Constructor and Description | 
|---|
| AbstractServerHttpResponse(DataBufferFactory dataBufferFactory) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addCookie(ResponseCookie cookie)Add the given  ResponseCookie. | 
| protected abstract void | applyCookies()Add cookies from  getHeaders()to the underlying response. | 
| protected abstract void | applyHeaders()Apply header changes from  getHeaders()to the underlying response. | 
| protected abstract void | applyStatusCode()Write the status code to the underlying response. | 
| 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  DataBufferFactorythat can be used to create the body. | 
| protected reactor.core.publisher.Mono<java.lang.Void> | doCommit()A variant of  doCommit(Supplier)for a response without no body. | 
| protected reactor.core.publisher.Mono<java.lang.Void> | doCommit(java.util.function.Supplier<? extends reactor.core.publisher.Mono<java.lang.Void>> writeAction)Apply  beforeCommitactions, apply the
 response status and headers/cookies, and write the response body. | 
| MultiValueMap<java.lang.String,ResponseCookie> | getCookies()Return a mutable map with the cookies to send to the server. | 
| HttpHeaders | getHeaders()Return the headers of this message. | 
| abstract <T> T | getNativeResponse()Return the underlying server response. | 
| HttpStatus | getStatusCode()Return the HTTP status code or  nullif not set. | 
| java.lang.Integer | getStatusCodeValue()Return the HTTP status code of the response. | 
| 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). | 
| boolean | setStatusCode(HttpStatus statusCode)Set the HTTP status code of the response. | 
| void | setStatusCodeValue(java.lang.Integer statusCode)Set the HTTP status code of the response. | 
| reactor.core.publisher.Mono<java.lang.Void> | writeAndFlushWith(org.reactivestreams.Publisher<? extends org.reactivestreams.Publisher<? extends DataBuffer>> body)Use the given  PublisherofPublishersto write the body
 of the HttpOutputMessage to the underlying HTTP layer, flushing after
 eachPublisher<DataBuffer>. | 
| protected abstract reactor.core.publisher.Mono<java.lang.Void> | writeAndFlushWithInternal(org.reactivestreams.Publisher<? extends org.reactivestreams.Publisher<? extends DataBuffer>> body)Write to the underlying the response, and flush after each  Publisher<DataBuffer>. | 
| reactor.core.publisher.Mono<java.lang.Void> | writeWith(org.reactivestreams.Publisher<? extends DataBuffer> body)Use the given  Publisherto write the body of the message to the
 underlying HTTP layer. | 
| protected abstract reactor.core.publisher.Mono<java.lang.Void> | writeWithInternal(org.reactivestreams.Publisher<? extends DataBuffer> body)Write to the underlying the response. | 
public AbstractServerHttpResponse(DataBufferFactory dataBufferFactory)
public final DataBufferFactory bufferFactory()
ReactiveHttpOutputMessageDataBufferFactory that can be used to create the body.bufferFactory in interface ReactiveHttpOutputMessageReactiveHttpOutputMessage.writeWith(Publisher)public boolean setStatusCode(@Nullable HttpStatus statusCode)
ServerHttpResponsesetStatusCode in interface ServerHttpResponsestatusCode - the HTTP status as an HttpStatus enum valuefalse if the status code has not been set because the HTTP response
 is already committed, true if it has been set correctly.@Nullable public HttpStatus getStatusCode()
ServerHttpResponsenull if not set.getStatusCode in interface ServerHttpResponsepublic void setStatusCodeValue(@Nullable java.lang.Integer statusCode)
statusCode - the HTTP status as an integer value@Nullable public java.lang.Integer getStatusCodeValue()
public HttpHeaders getHeaders()
HttpMessagegetHeaders in interface HttpMessagenull)public MultiValueMap<java.lang.String,ResponseCookie> getCookies()
ServerHttpResponsegetCookies in interface ServerHttpResponsepublic void addCookie(ResponseCookie cookie)
ServerHttpResponseResponseCookie.addCookie in interface ServerHttpResponsecookie - the cookie to addpublic abstract <T> T getNativeResponse()
Note: This is exposed mainly for internal framework use such as WebSocket upgrades in the spring-webflux module.
public void beforeCommit(java.util.function.Supplier<? extends reactor.core.publisher.Mono<java.lang.Void>> action)
ReactiveHttpOutputMessageNote: 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.
beforeCommit in interface ReactiveHttpOutputMessageaction - the action to applypublic boolean isCommitted()
ReactiveHttpOutputMessageisCommitted in interface ReactiveHttpOutputMessagepublic final reactor.core.publisher.Mono<java.lang.Void> writeWith(org.reactivestreams.Publisher<? extends DataBuffer> body)
ReactiveHttpOutputMessagePublisher to write the body of the message to the
 underlying HTTP layer.writeWith in interface ReactiveHttpOutputMessagebody - the body content publisherMono that indicates completion or errorpublic final reactor.core.publisher.Mono<java.lang.Void> writeAndFlushWith(org.reactivestreams.Publisher<? extends org.reactivestreams.Publisher<? extends DataBuffer>> body)
ReactiveHttpOutputMessagePublisher of Publishers to write the body
 of the HttpOutputMessage to the underlying HTTP layer, flushing after
 each Publisher<DataBuffer>.writeAndFlushWith in interface ReactiveHttpOutputMessagebody - the body content publisherMono that indicates completion or errorpublic reactor.core.publisher.Mono<java.lang.Void> setComplete()
ReactiveHttpOutputMessageHttpMessage.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.
setComplete in interface ReactiveHttpOutputMessageMono that indicates completion or errorprotected reactor.core.publisher.Mono<java.lang.Void> doCommit()
doCommit(Supplier) for a response without no body.protected reactor.core.publisher.Mono<java.lang.Void> doCommit(@Nullable java.util.function.Supplier<? extends reactor.core.publisher.Mono<java.lang.Void>> writeAction)
beforeCommit actions, apply the
 response status and headers/cookies, and write the response body.writeAction - the action to write the response body (may be null)protected abstract reactor.core.publisher.Mono<java.lang.Void> writeWithInternal(org.reactivestreams.Publisher<? extends DataBuffer> body)
body - the publisher to write withprotected abstract reactor.core.publisher.Mono<java.lang.Void> writeAndFlushWithInternal(org.reactivestreams.Publisher<? extends org.reactivestreams.Publisher<? extends DataBuffer>> body)
Publisher<DataBuffer>.body - the publisher to write and flush withprotected abstract void applyStatusCode()
protected abstract void applyHeaders()
getHeaders() to the underlying response.
 This method is called once only.protected abstract void applyCookies()
getHeaders() to the underlying response.
 This method is called once only.