public class ClientResponseWrapper extends Object implements ClientResponse
ClientResponse
interface that can be subclassed
to adapt the request in a
exchange filter function
.
All methods default to calling through to the wrapped request.Modifier and Type | Class and Description |
---|---|
static class |
ClientResponseWrapper.HeadersWrapper
Implementation of the
Headers interface that can be subclassed
to adapt the headers in a
exchange filter function . |
ClientResponse.Builder, ClientResponse.Headers
Constructor and Description |
---|
ClientResponseWrapper(ClientResponse delegate)
Create a new
ClientResponseWrapper that wraps the given response. |
Modifier and Type | Method and Description |
---|---|
<T> T |
body(BodyExtractor<T,? super org.springframework.http.client.reactive.ClientHttpResponse> extractor)
Extract the body with the given
BodyExtractor . |
<T> reactor.core.publisher.Flux<T> |
bodyToFlux(Class<? extends T> elementClass)
Extract the body to a
Flux . |
<T> reactor.core.publisher.Flux<T> |
bodyToFlux(org.springframework.core.ParameterizedTypeReference<T> elementTypeRef)
Extract the body to a
Flux . |
<T> reactor.core.publisher.Mono<T> |
bodyToMono(Class<? extends T> elementClass)
Extract the body to a
Mono . |
<T> reactor.core.publisher.Mono<T> |
bodyToMono(org.springframework.core.ParameterizedTypeReference<T> elementTypeRef)
Extract the body to a
Mono . |
org.springframework.util.MultiValueMap<String,org.springframework.http.ResponseCookie> |
cookies()
Return the cookies of this response.
|
reactor.core.publisher.Mono<WebClientResponseException> |
createException()
Create a
WebClientResponseException that contains the response
status, headers, body, and the originating request. |
ClientResponse.Headers |
headers()
Return the headers of this response.
|
String |
logPrefix()
Return a log message prefix to use to correlate messages for this exchange.
|
int |
rawStatusCode()
Return the (potentially non-standard) status code of this response.
|
reactor.core.publisher.Mono<Void> |
releaseBody()
Release the body of this response.
|
ClientResponse |
response()
Return the wrapped request.
|
org.springframework.http.HttpStatus |
statusCode()
Return the HTTP status code as an
HttpStatus enum value. |
ExchangeStrategies |
strategies()
Return the strategies used to convert the body of this response.
|
reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> |
toBodilessEntity()
Return this response as a delayed
ResponseEntity containing
status and headers, but no body. |
<T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<T>> |
toEntity(Class<T> bodyType)
Return this response as a delayed
ResponseEntity . |
<T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<T>> |
toEntity(org.springframework.core.ParameterizedTypeReference<T> bodyTypeReference)
Return this response as a delayed
ResponseEntity . |
<T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<T>>> |
toEntityList(Class<T> elementClass)
Return this response as a delayed list of
ResponseEntity s. |
<T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<T>>> |
toEntityList(org.springframework.core.ParameterizedTypeReference<T> elementTypeRef)
Return this response as a delayed list of
ResponseEntity s. |
public ClientResponseWrapper(ClientResponse delegate)
ClientResponseWrapper
that wraps the given response.delegate
- the response to wrappublic ClientResponse response()
public ExchangeStrategies strategies()
ClientResponse
strategies
in interface ClientResponse
public org.springframework.http.HttpStatus statusCode()
ClientResponse
HttpStatus
enum value.statusCode
in interface ClientResponse
null
)HttpStatus.valueOf(int)
public int rawStatusCode()
ClientResponse
rawStatusCode
in interface ClientResponse
ClientResponse.statusCode()
,
HttpStatus.resolve(int)
public ClientResponse.Headers headers()
ClientResponse
headers
in interface ClientResponse
public org.springframework.util.MultiValueMap<String,org.springframework.http.ResponseCookie> cookies()
ClientResponse
cookies
in interface ClientResponse
public <T> T body(BodyExtractor<T,? super org.springframework.http.client.reactive.ClientHttpResponse> extractor)
ClientResponse
BodyExtractor
.body
in interface ClientResponse
T
- the type of the body returnedextractor
- the BodyExtractor
that reads from the responsepublic <T> reactor.core.publisher.Mono<T> bodyToMono(Class<? extends T> elementClass)
ClientResponse
Mono
.bodyToMono
in interface ClientResponse
T
- the element typeelementClass
- the class of element in the Mono
T
public <T> reactor.core.publisher.Mono<T> bodyToMono(org.springframework.core.ParameterizedTypeReference<T> elementTypeRef)
ClientResponse
Mono
.bodyToMono
in interface ClientResponse
T
- the element typeelementTypeRef
- the type reference of element in the Mono
T
public <T> reactor.core.publisher.Flux<T> bodyToFlux(Class<? extends T> elementClass)
ClientResponse
Flux
.bodyToFlux
in interface ClientResponse
T
- the element typeelementClass
- the class of elements in the Flux
T
public <T> reactor.core.publisher.Flux<T> bodyToFlux(org.springframework.core.ParameterizedTypeReference<T> elementTypeRef)
ClientResponse
Flux
.bodyToFlux
in interface ClientResponse
T
- the element typeelementTypeRef
- the type reference of elements in the Flux
T
public reactor.core.publisher.Mono<Void> releaseBody()
ClientResponse
releaseBody
in interface ClientResponse
DataBufferUtils.release(DataBuffer)
public reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<Void>> toBodilessEntity()
ClientResponse
ResponseEntity
containing
status and headers, but no body. Calling this method will
release the body of the response.toBodilessEntity
in interface ClientResponse
Mono
with the bodiless ResponseEntity
public <T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<T>> toEntity(Class<T> bodyType)
ClientResponse
ResponseEntity
.toEntity
in interface ClientResponse
T
- response body typebodyType
- the expected response body typeMono
with the ResponseEntity
public <T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<T>> toEntity(org.springframework.core.ParameterizedTypeReference<T> bodyTypeReference)
ClientResponse
ResponseEntity
.toEntity
in interface ClientResponse
T
- response body typebodyTypeReference
- a type reference describing the expected response body typeMono
with the ResponseEntity
public <T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<T>>> toEntityList(Class<T> elementClass)
ClientResponse
ResponseEntity
s.toEntityList
in interface ClientResponse
T
- the type of elements in the listelementClass
- the expected response body list element classMono
with the list of ResponseEntity
spublic <T> reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<List<T>>> toEntityList(org.springframework.core.ParameterizedTypeReference<T> elementTypeRef)
ClientResponse
ResponseEntity
s.toEntityList
in interface ClientResponse
T
- the type of elements in the listelementTypeRef
- the expected response body list element reference typeMono
with the list of ResponseEntity
spublic reactor.core.publisher.Mono<WebClientResponseException> createException()
ClientResponse
WebClientResponseException
that contains the response
status, headers, body, and the originating request.createException
in interface ClientResponse
Mono
with the created exceptionpublic String logPrefix()
ClientResponse
The prefix is based on ClientRequest.logPrefix(), which
itself is based on the value of the LOG_ID_ATTRIBUTE
request attribute, further surrounded with "[" and "]".
logPrefix
in interface ClientResponse
LOG_ID_ATTRIBUTE
is not set