Class HttpClient.Builder

java.lang.Object
land.oras.auth.HttpClient.Builder
Enclosing class:
HttpClient

public static class HttpClient.Builder extends Object
Builder for the HTTP client
  • Method Details

    • withTimeout

      public HttpClient.Builder withTimeout(@Nullable Integer timeout)
      Set the timeout
      Parameters:
      timeout - The timeout in seconds
      Returns:
      The builder
    • withSkipTlsVerify

      public HttpClient.Builder withSkipTlsVerify(boolean skipTlsVerify)
      Skip the TLS verification
      Parameters:
      skipTlsVerify - Skip TLS verification
      Returns:
      The builder
    • withMeterRegistry

      public HttpClient.Builder withMeterRegistry(io.micrometer.core.instrument.MeterRegistry meterRegistry)
      Set the meter registry for metrics. Following Micrometer best practices for libraries,
      Parameters:
      meterRegistry - The meter registry
      Returns:
      The builder
    • withMaxRetries

      public HttpClient.Builder withMaxRetries(int maxRetries)
      Set the maximum number of attempts for retryable requests (default: 3). A value of 1 disables retries entirely.
      Parameters:
      maxRetries - Maximum attempts (must be >= 1)
      Returns:
      The builder
    • withRetryDelay

      public HttpClient.Builder withRetryDelay(long retryDelayMs)
      Set the initial delay before the first retry in milliseconds (default: 500). Subsequent delays are doubled up to withMaxRetryDelay(long).
      Parameters:
      retryDelayMs - Initial delay in milliseconds (must be >= 0)
      Returns:
      The builder
    • withMaxRetryDelay

      public HttpClient.Builder withMaxRetryDelay(long maxRetryDelayMs)
      Set the upper bound on retry delay in milliseconds (default: 30 000).
      Parameters:
      maxRetryDelayMs - Maximum delay cap in milliseconds (must be >= 0)
      Returns:
      The builder
    • withCaFile

      public HttpClient.Builder withCaFile(Path caFilePath)
      Set the CA file for TLS verification
      Parameters:
      caFilePath - The path to a PEM-encoded CA certificate or bundle
      Returns:
      The builder
    • withCaFile

      public HttpClient.Builder withCaFile(String caFilePath)
      Set the CA file for TLS verification
      Parameters:
      caFilePath - The path to a PEM-encoded CA certificate or bundle
      Returns:
      The builder
    • withCaContent

      public HttpClient.Builder withCaContent(String caContent)
      Set the CA certificates from PEM-encoded content
      Parameters:
      caContent - The PEM-encoded CA certificate or bundle content
      Returns:
      The builder
    • builder

      public static HttpClient.Builder builder()
      Build the client
      Returns:
      The client
    • build

      public HttpClient build()
      Build the client
      Returns:
      The client