extends Object implements ClientHttpConnector
Reactor-Netty implementation of ClientHttpConnector .
Since:
Author:
Brian Clozel, Rossen Stoyanchev
See Also:
  • HttpClient
  • 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.
    ReactorClientHttpConnector (reactor.netty.http.client.HttpClient httpClient)
    Constructor with a pre-configured HttpClient instance.
    connect ( HttpMethod method, URI uri, Function <? super ClientHttpRequest , reactor.core.publisher.Mono< Void >> requestCallback)
    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

    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 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