Class MockClientHttpRequest
java.lang.Object
org.springframework.http.client.reactive.AbstractClientHttpRequest
org.springframework.mock.http.client.reactive.MockClientHttpRequest
- All Implemented Interfaces:
ClientHttpRequest
,HttpMessage
,ReactiveHttpOutputMessage
Mock implementation of
ClientHttpRequest
.- Since:
- 5.0
- Author:
- Brian Clozel, Rossen Stoyanchev
-
Constructor Summary
ConstructorDescriptionMockClientHttpRequest
(HttpMethod httpMethod, String urlTemplate, Object... vars) MockClientHttpRequest
(HttpMethod httpMethod, URI url) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Add attributes fromAbstractClientHttpRequest.getAttributes()
to the underlying request.protected void
Add cookies fromAbstractClientHttpRequest.getHeaders()
to the underlying request.protected void
Apply header changes fromAbstractClientHttpRequest.getHeaders()
to the underlying request.Return aDataBufferFactory
that can be used to create the body.reactor.core.publisher.Flux<DataBuffer>
getBody()
Return the request body, or an error stream if the body was never set or whensetWriteHandler(java.util.function.Function<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>, reactor.core.publisher.Mono<java.lang.Void>>)
is configured.reactor.core.publisher.Mono<String>
Aggregate response data and convert to a String using the "Content-Type" charset or "UTF-8" by default.Return the HTTP method of the request.<T> T
Return the request from the underlying HTTP library.getURI()
Return the URI of the request.reactor.core.publisher.Mono<Void>
Indicate that message handling is complete, allowing for any cleanup or end-of-processing tasks to be performed such as applying header changes made viaHttpMessage.getHeaders()
to the underlying HTTP message (if not applied already).void
setWriteHandler
(Function<reactor.core.publisher.Flux<DataBuffer>, reactor.core.publisher.Mono<Void>> writeHandler) Configure a custom handler for writing the request body.reactor.core.publisher.Mono<Void>
writeAndFlushWith
(Publisher<? extends Publisher<? extends DataBuffer>> body) Use the givenPublisher
ofPublishers
to write the body of the HttpOutputMessage to the underlying HTTP layer, flushing after eachPublisher<DataBuffer>
.reactor.core.publisher.Mono<Void>
writeWith
(Publisher<? extends DataBuffer> body) Use the givenPublisher
to write the body of the message to the underlying HTTP layer.Methods inherited from class org.springframework.http.client.reactive.AbstractClientHttpRequest
beforeCommit, doCommit, doCommit, getAttributes, getCookies, getHeaders, initReadOnlyHeaders, isCommitted
-
Constructor Details
-
MockClientHttpRequest
-
MockClientHttpRequest
-
-
Method Details
-
setWriteHandler
public void setWriteHandler(Function<reactor.core.publisher.Flux<DataBuffer>, reactor.core.publisher.Mono<Void>> writeHandler) Configure a custom handler for writing the request body.The default write handler consumes and caches the request body so it may be accessed subsequently, e.g. in test assertions. Use this property when the request body is an infinite stream.
- Parameters:
writeHandler
- the write handler to use returningMono<Void>
when the body has been "written" (i.e. consumed).
-
getMethod
Description copied from interface:ClientHttpRequest
Return the HTTP method of the request. -
getURI
Description copied from interface:ClientHttpRequest
Return the URI of the request. -
bufferFactory
Description copied from interface:ReactiveHttpOutputMessage
Return aDataBufferFactory
that can be used to create the body.- Returns:
- a buffer factory
- See Also:
-
getNativeRequest
public <T> T getNativeRequest()Description copied from interface:ClientHttpRequest
Return the request from the underlying HTTP library.- Type Parameters:
T
- the expected type of the request to cast to
-
applyHeaders
protected void applyHeaders()Description copied from class:AbstractClientHttpRequest
Apply header changes fromAbstractClientHttpRequest.getHeaders()
to the underlying request. This method is called once only.- Specified by:
applyHeaders
in classAbstractClientHttpRequest
-
applyCookies
protected void applyCookies()Description copied from class:AbstractClientHttpRequest
Add cookies fromAbstractClientHttpRequest.getHeaders()
to the underlying request. This method is called once only.- Specified by:
applyCookies
in classAbstractClientHttpRequest
-
applyAttributes
protected void applyAttributes()Description copied from class:AbstractClientHttpRequest
Add attributes fromAbstractClientHttpRequest.getAttributes()
to the underlying request. This method is called once only.- Overrides:
applyAttributes
in classAbstractClientHttpRequest
-
writeWith
Description copied from interface:ReactiveHttpOutputMessage
Use the givenPublisher
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
public reactor.core.publisher.Mono<Void> writeAndFlushWith(Publisher<? extends Publisher<? extends DataBuffer>> body) Description copied from interface:ReactiveHttpOutputMessage
Use the givenPublisher
ofPublishers
to write the body of the HttpOutputMessage to the underlying HTTP layer, flushing after eachPublisher<DataBuffer>
.- Parameters:
body
- the body content publisher- Returns:
- a
Mono
that indicates completion or error
-
setComplete
Description copied from interface:ReactiveHttpOutputMessage
Indicate that message handling is complete, allowing for any cleanup or end-of-processing tasks to be performed such as applying header changes made viaHttpMessage.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
-
getBody
Return the request body, or an error stream if the body was never set or whensetWriteHandler(java.util.function.Function<reactor.core.publisher.Flux<org.springframework.core.io.buffer.DataBuffer>, reactor.core.publisher.Mono<java.lang.Void>>)
is configured. -
getBodyAsString
Aggregate response data and convert to a String using the "Content-Type" charset or "UTF-8" by default.
-