Class ReactorNettyClientRequestFactory

java.lang.Object
org.springframework.http.client.ReactorNettyClientRequestFactory
All Implemented Interfaces:
ClientHttpRequestFactory

public class ReactorNettyClientRequestFactory extends Object implements ClientHttpRequestFactory
Reactor-Netty implementation of ClientHttpRequestFactory.
Since:
6.1
Author:
Arjen Poutsma
  • Constructor Details

    • ReactorNettyClientRequestFactory

      public ReactorNettyClientRequestFactory()
      Create a new instance of the ReactorNettyClientRequestFactory with a default HttpClient that has compression enabled.
    • ReactorNettyClientRequestFactory

      public ReactorNettyClientRequestFactory(reactor.netty.http.client.HttpClient httpClient)
      Create a new instance of the ReactorNettyClientRequestFactory based on the given HttpClient.
      Parameters:
      httpClient - the client to base on
  • Method Details

    • setConnectTimeout

      public void setConnectTimeout(int connectTimeout)
      Set the underlying connect timeout in milliseconds. A value of 0 specifies an infinite timeout.

      Default is 30 seconds.

      See Also:
      • Transport.option(ChannelOption, Object)
      • ChannelOption.CONNECT_TIMEOUT_MILLIS
    • setConnectTimeout

      public void setConnectTimeout(Duration connectTimeout)
      Set the underlying connect timeout in milliseconds. A value of 0 specifies an infinite timeout.

      Default is 30 seconds.

      See Also:
      • Transport.option(ChannelOption, Object)
      • ChannelOption.CONNECT_TIMEOUT_MILLIS
    • setReadTimeout

      public void setReadTimeout(long readTimeout)
      Set the underlying read timeout in milliseconds.

      Default is 10 seconds.

    • setReadTimeout

      public void setReadTimeout(Duration readTimeout)
      Set the underlying read timeout as Duration.

      Default is 10 seconds.

    • setExchangeTimeout

      public void setExchangeTimeout(long exchangeTimeout)
      Set the timeout for the HTTP exchange in milliseconds.

      Default is 30 seconds.

    • setExchangeTimeout

      public void setExchangeTimeout(Duration exchangeTimeout)
      Set the timeout for the HTTP exchange.

      Default is 30 seconds.

    • createRequest

      public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IOException
      Description copied from interface: ClientHttpRequestFactory
      Create a new ClientHttpRequest for the specified URI and HTTP method.

      The returned request can be written to, and then executed by calling ClientHttpRequest.execute().

      Specified by:
      createRequest in interface ClientHttpRequestFactory
      Parameters:
      uri - the URI to create a request for
      httpMethod - the HTTP method to execute
      Returns:
      the created request
      Throws:
      IOException - in case of I/O errors