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
ConstructorsConstructorDescriptionMockClientHttpRequest(HttpMethod httpMethod, String urlTemplate, Object... vars) MockClientHttpRequest(HttpMethod httpMethod, URI url) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdd cookies fromAbstractClientHttpRequest.getHeaders()to the underlying request.protected voidApply header changes fromAbstractClientHttpRequest.getHeaders()to the underlying request.Return aDataBufferFactorythat 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> TReturn 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).voidsetWriteHandler(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 givenPublisherofPublishersto 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 givenPublisherto write the body of the message to the underlying HTTP layer.Methods inherited from class org.springframework.http.client.reactive.AbstractClientHttpRequest
beforeCommit, doCommit, doCommit, 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:ClientHttpRequestReturn the HTTP method of the request. -
getURI
Description copied from interface:ClientHttpRequestReturn the URI of the request. -
bufferFactory
Description copied from interface:ReactiveHttpOutputMessageReturn aDataBufferFactorythat can be used to create the body.- Returns:
- a buffer factory
- See Also:
-
getNativeRequest
public <T> T getNativeRequest()Description copied from interface:ClientHttpRequestReturn 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:AbstractClientHttpRequestApply header changes fromAbstractClientHttpRequest.getHeaders()to the underlying request. This method is called once only.- Specified by:
applyHeadersin classAbstractClientHttpRequest
-
applyCookies
protected void applyCookies()Description copied from class:AbstractClientHttpRequestAdd cookies fromAbstractClientHttpRequest.getHeaders()to the underlying request. This method is called once only.- Specified by:
applyCookiesin classAbstractClientHttpRequest
-
writeWith
Description copied from interface:ReactiveHttpOutputMessageUse the givenPublisherto write the body of the message to the underlying HTTP layer.- Parameters:
body- the body content publisher- Returns:
- a
Monothat indicates completion or error
-
writeAndFlushWith
public reactor.core.publisher.Mono<Void> writeAndFlushWith(Publisher<? extends Publisher<? extends DataBuffer>> body) Description copied from interface:ReactiveHttpOutputMessageUse the givenPublisherofPublishersto write the body of the HttpOutputMessage to the underlying HTTP layer, flushing after eachPublisher<DataBuffer>.- Parameters:
body- the body content publisher- Returns:
- a
Monothat indicates completion or error
-
setComplete
Description copied from interface:ReactiveHttpOutputMessageIndicate 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
Monothat 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.
-