extends
Object
implements
ClientHttpConnector
Since:
Author:
Brian Clozel, Rossen Stoyanchev
See Also:
HttpClient
Constructor with externally managed Reactor Netty resources, including
LoopResources
for event loop threads, and
ConnectionProvider
for the connection pool.
Constructor with a pre-configured
HttpClient
instance.
Connect to the origin server using the given
HttpMethod
and
URI
and apply the given
requestCallback
when the HTTP
request of the underlying API can be initialized and written to.
ReactorClientHttpConnector
public
ReactorClientHttpConnector
()
Default constructor. Initializes
HttpClient
via:
HttpClient.create().compress()
ReactorClientHttpConnector
public ReactorClientHttpConnector(ReactorResourceFactory factory,
Function<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> mapper)
Constructor with externally managed Reactor Netty resources, including
LoopResources
for event loop threads, and
ConnectionProvider
for the connection pool.
This constructor should be used only when you don't want the client
to participate in the Reactor Netty global resources. By default the
client participates in the Reactor Netty global resources held in
HttpResources
, which is recommended since
fixed, shared resources are favored for event loop concurrency. However,
consider declaring a ReactorResourceFactory
bean with
globalResources=true
in order to ensure the Reactor Netty global
resources are shut down when the Spring ApplicationContext is closed.
Parameters:
factory
- the resource factory to obtain the resources from
mapper
- a mapper for further initialization of the created client
Since:
ReactorClientHttpConnector
public ReactorClientHttpConnector(reactor.netty.http.client.HttpClient httpClient)
Constructor with a pre-configured HttpClient
instance.
Parameters:
httpClient
- the client to use
Since:
connect
Connect to the origin server using the given HttpMethod
and
URI
and apply the given requestCallback
when the HTTP
request of the underlying API can be initialized and written to.
Specified by:
connect
in interface ClientHttpConnector
Parameters:
method
- the HTTP request method
uri
- the HTTP request URI
requestCallback
- a function that prepares and writes to the request,
returning a publisher that signals when it's done writing.
Implementations can return a Mono<Void>
by calling
ReactiveHttpOutputMessage.writeWith(org.reactivestreams.Publisher<? extends org.springframework.core.io.buffer.DataBuffer>)
or ReactiveHttpOutputMessage.setComplete()
.
Returns:
publisher for the ClientHttpResponse