Class JdkClientHttpConnector
java.lang.Object
org.springframework.http.client.reactive.JdkClientHttpConnector
- All Implemented Interfaces:
ClientHttpConnector
ClientHttpConnector
for the Java HttpClient
.- Since:
- 6.0
- Author:
- Julien Eyraud, Rossen Stoyanchev
- See Also:
-
Constructor Summary
ConstructorDescriptionDefault constructor that usesHttpClient.newHttpClient()
.JdkClientHttpConnector
(HttpClient httpClient) Constructor with an initializedHttpClient
and aDataBufferFactory
.JdkClientHttpConnector
(HttpClient.Builder clientBuilder, @Nullable JdkHttpClientResourceFactory resourceFactory) Constructor with aJdkHttpClientResourceFactory
that provides shared resources. -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<ClientHttpResponse>
connect
(HttpMethod method, URI uri, Function<? super ClientHttpRequest, reactor.core.publisher.Mono<Void>> requestCallback) Connect to the origin server using the givenHttpMethod
andURI
and apply the givenrequestCallback
when the HTTP request of the underlying API can be initialized and written to.void
setBufferFactory
(DataBufferFactory bufferFactory) Set the buffer factory to use.void
setReadTimeout
(Duration readTimeout) Set the underlyingHttpClient
's read timeout as aDuration
.
-
Constructor Details
-
JdkClientHttpConnector
public JdkClientHttpConnector()Default constructor that usesHttpClient.newHttpClient()
. -
JdkClientHttpConnector
Constructor with an initializedHttpClient
and aDataBufferFactory
. -
JdkClientHttpConnector
public JdkClientHttpConnector(HttpClient.Builder clientBuilder, @Nullable JdkHttpClientResourceFactory resourceFactory) Constructor with aJdkHttpClientResourceFactory
that provides shared resources.- Parameters:
clientBuilder
- a pre-initialized builder for the client that will be further initialized with the shared resources to useresourceFactory
- theJdkHttpClientResourceFactory
to use
-
-
Method Details
-
setBufferFactory
Set the buffer factory to use.By default, this is
DefaultDataBufferFactory.sharedInstance
. -
setReadTimeout
Set the underlyingHttpClient
's read timeout as aDuration
.Default is the system's default timeout.
- Since:
- 6.2
- See Also:
-
connect
public reactor.core.publisher.Mono<ClientHttpResponse> connect(HttpMethod method, URI uri, Function<? super ClientHttpRequest, reactor.core.publisher.Mono<Void>> requestCallback) Description copied from interface:ClientHttpConnector
Connect to the origin server using the givenHttpMethod
andURI
and apply the givenrequestCallback
when the HTTP request of the underlying API can be initialized and written to.- Specified by:
connect
in interfaceClientHttpConnector
- Parameters:
method
- the HTTP request methoduri
- the HTTP request URIrequestCallback
- a function that prepares and writes to the request, returning a publisher that signals when it's done writing. Implementations can return aMono<Void>
by callingReactiveHttpOutputMessage.writeWith(org.reactivestreams.Publisher<? extends org.springframework.core.io.buffer.DataBuffer>)
orReactiveHttpOutputMessage.setComplete()
.- Returns:
- publisher for the
ClientHttpResponse
-