Record Class HttpClientSettings

java.lang.Object
java.lang.Record
org.springframework.boot.http.client.HttpClientSettings
Record Components:
redirects - the follow redirect strategy to use or null to redirect whenever the underlying library allows it
connectTimeout - the connect timeout
readTimeout - the read timeout
sslBundle - the SSL bundle providing SSL configuration

public record HttpClientSettings(@Nullable HttpRedirects redirects, @Nullable Duration connectTimeout, @Nullable Duration readTimeout, @Nullable SslBundle sslBundle) extends Record
Settings that can be applied when creating a blocking or reactive HTTP client.
Since:
3.5.0
Author:
Phillip Webb
  • Constructor Details

    • HttpClientSettings

      public HttpClientSettings(@Nullable HttpRedirects redirects, @Nullable Duration connectTimeout, @Nullable Duration readTimeout, @Nullable SslBundle sslBundle)
      Creates an instance of a HttpClientSettings record class.
      Parameters:
      redirects - the value for the redirects record component
      connectTimeout - the value for the connectTimeout record component
      readTimeout - the value for the readTimeout record component
      sslBundle - the value for the sslBundle record component
  • Method Details

    • withConnectTimeout

      public HttpClientSettings withConnectTimeout(@Nullable Duration connectTimeout)
      Return a new HttpClientSettings instance with an updated connect timeout setting.
      Parameters:
      connectTimeout - the new connect timeout setting
      Returns:
      a new HttpClientSettings instance
      Since:
      4.0.0
    • withReadTimeout

      public HttpClientSettings withReadTimeout(@Nullable Duration readTimeout)
      Return a new HttpClientSettings instance with an updated read timeout setting.
      Parameters:
      readTimeout - the new read timeout setting
      Returns:
      a new HttpClientSettings instance
      Since:
      4.0.0
    • withTimeouts

      public HttpClientSettings withTimeouts(@Nullable Duration connectTimeout, @Nullable Duration readTimeout)
      Return a new HttpClientSettings instance with an updated connect and read timeout setting.
      Parameters:
      connectTimeout - the new connect timeout setting
      readTimeout - the new read timeout setting
      Returns:
      a new HttpClientSettings instance
      Since:
      4.0.0
    • withSslBundle

      public HttpClientSettings withSslBundle(@Nullable SslBundle sslBundle)
      Return a new HttpClientSettings instance with an updated SSL bundle setting.
      Parameters:
      sslBundle - the new SSL bundle setting
      Returns:
      a new HttpClientSettings instance
      Since:
      4.0.0
    • withRedirects

      public HttpClientSettings withRedirects(@Nullable HttpRedirects redirects)
      Return a new HttpClientSettings instance with an updated redirect setting.
      Parameters:
      redirects - the new redirects setting
      Returns:
      a new HttpClientSettings instance
      Since:
      4.0.0
    • orElse

      public HttpClientSettings orElse(@Nullable HttpClientSettings other)
      Return a new HttpClientSettings instance using values from this instance when they are present, or otherwise using values from other.
      Parameters:
      other - the settings to be used to obtain values not present in this instance
      Returns:
      a new HttpClientSettings instance
      Since:
      4.0.0
    • ofSslBundle

      public static HttpClientSettings ofSslBundle(@Nullable SslBundle sslBundle)
      Return a new HttpClientSettings using defaults for all settings other than the provided SSL bundle.
      Parameters:
      sslBundle - the SSL bundle setting
      Returns:
      a new HttpClientSettings instance
      Since:
      4.0.0
    • defaults

      public static HttpClientSettings defaults()
      Use defaults settings, which can differ depending on the implementation.
      Returns:
      default settings
      Since:
      4.0.0
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • redirects

      public @Nullable HttpRedirects redirects()
      Returns the value of the redirects record component.
      Returns:
      the value of the redirects record component
    • connectTimeout

      public @Nullable Duration connectTimeout()
      Returns the value of the connectTimeout record component.
      Returns:
      the value of the connectTimeout record component
    • readTimeout

      public @Nullable Duration readTimeout()
      Returns the value of the readTimeout record component.
      Returns:
      the value of the readTimeout record component
    • sslBundle

      public @Nullable SslBundle sslBundle()
      Returns the value of the sslBundle record component.
      Returns:
      the value of the sslBundle record component