public class ClientHttpRequestDecorator extends Object implements ClientHttpRequest
ClientHttpRequest
and delegates all methods to it.
Sub-classes can override specific methods selectively.Constructor and Description |
---|
ClientHttpRequestDecorator(ClientHttpRequest delegate) |
Modifier and Type | Method and Description |
---|---|
void |
beforeCommit(Supplier<? extends reactor.core.publisher.Mono<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. |
MultiValueMap<String,HttpCookie> |
getCookies()
Return a mutable map of request cookies to send to the server.
|
ClientHttpRequest |
getDelegate() |
HttpHeaders |
getHeaders()
Return the headers of this message.
|
HttpMethod |
getMethod()
Return the HTTP method of the request.
|
<T> T |
getNativeRequest()
Return the request from the underlying HTTP library.
|
URI |
getURI()
Return the URI of the request.
|
boolean |
isCommitted()
Whether the HttpOutputMessage is committed.
|
reactor.core.publisher.Mono<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). |
String |
toString() |
reactor.core.publisher.Mono<Void> |
writeAndFlushWith(Publisher<? extends 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<Void> |
writeWith(Publisher<? extends DataBuffer> body)
Use the given
Publisher to write the body of the message to the
underlying HTTP layer. |
public ClientHttpRequestDecorator(ClientHttpRequest delegate)
public ClientHttpRequest getDelegate()
public HttpMethod getMethod()
ClientHttpRequest
getMethod
in interface ClientHttpRequest
public URI getURI()
ClientHttpRequest
getURI
in interface ClientHttpRequest
public HttpHeaders getHeaders()
HttpMessage
getHeaders
in interface HttpMessage
null
)public MultiValueMap<String,HttpCookie> getCookies()
ClientHttpRequest
getCookies
in interface ClientHttpRequest
public DataBufferFactory bufferFactory()
ReactiveHttpOutputMessage
DataBufferFactory
that can be used to create the body.bufferFactory
in interface ReactiveHttpOutputMessage
ReactiveHttpOutputMessage.writeWith(Publisher)
public <T> T getNativeRequest()
ClientHttpRequest
getNativeRequest
in interface ClientHttpRequest
T
- the expected type of the request to cast topublic void beforeCommit(Supplier<? extends reactor.core.publisher.Mono<Void>> action)
ReactiveHttpOutputMessage
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.
beforeCommit
in interface ReactiveHttpOutputMessage
action
- the action to applypublic boolean isCommitted()
ReactiveHttpOutputMessage
isCommitted
in interface ReactiveHttpOutputMessage
public reactor.core.publisher.Mono<Void> writeWith(Publisher<? extends DataBuffer> body)
ReactiveHttpOutputMessage
Publisher
to write the body of the message to the
underlying HTTP layer.writeWith
in interface ReactiveHttpOutputMessage
body
- the body content publisherMono
that indicates completion or errorpublic reactor.core.publisher.Mono<Void> writeAndFlushWith(Publisher<? extends Publisher<? extends DataBuffer>> body)
ReactiveHttpOutputMessage
Publisher
of Publishers
to write the body
of the HttpOutputMessage to the underlying HTTP layer, flushing after
each Publisher<DataBuffer>
.writeAndFlushWith
in interface ReactiveHttpOutputMessage
body
- the body content publisherMono
that indicates completion or errorpublic reactor.core.publisher.Mono<Void> setComplete()
ReactiveHttpOutputMessage
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.
setComplete
in interface ReactiveHttpOutputMessage
Mono
that indicates completion or error