Package sonia.scm.net

Class HttpConnectionOptions

java.lang.Object
sonia.scm.net.HttpConnectionOptions

public final class HttpConnectionOptions extends Object
Options for establishing a http connection. The options can be used to create a new http connection with HttpURLConnectionFactory.create(URL, HttpConnectionOptions).
Since:
2.23.0
  • Constructor Details

    • HttpConnectionOptions

      public HttpConnectionOptions()
  • Method Details

    • getProxyConfiguration

      public Optional<ProxyConfiguration> getProxyConfiguration()
      Returns optional local proxy configuration.
      Returns:
      local proxy configuration or empty optional
    • getKeyManagers

      public Optional<KeyManager[]> getKeyManagers()
      Return optional array of key managers for client certificate authentication.
      Returns:
      array of key managers or empty optional
    • getConnectionProperties

      public Map<String,String> getConnectionProperties()
    • withDisableCertificateValidation

      public HttpConnectionOptions withDisableCertificateValidation()
      Disable certificate validation. WARNING: This option should only be used for internal test. It should never be used in production, because it is high security risk.
      Returns:
      this
    • withDisabledHostnameValidation

      public HttpConnectionOptions withDisabledHostnameValidation()
      Disable hostname validation. WARNING: This option should only be used for internal test. It should never be used in production, because it is high security risk.
      Returns:
      this
    • withConnectionTimeout

      public HttpConnectionOptions withConnectionTimeout(long timeout, TimeUnit unit)
      Configure the connection timeout.
      Parameters:
      timeout - timeout
      unit - unit of the timeout
      Returns:
      this
    • withReadTimeout

      public HttpConnectionOptions withReadTimeout(long timeout, TimeUnit unit)
      Configure the read timeout.
      Parameters:
      timeout - timeout
      unit - unit of the timeout
      Returns:
      this
    • withProxyConfiguration

      public HttpConnectionOptions withProxyConfiguration(ProxyConfiguration proxyConfiguration)
      Configure a local proxy configuration, if no configuration is set the global default configuration will be used.
      Parameters:
      proxyConfiguration - local proxy configuration
      Returns:
      this
    • withKeyManagers

      public HttpConnectionOptions withKeyManagers(@Nullable KeyManager... keyManagers)
      Configure key managers for client certificate authentication.
      Parameters:
      keyManagers - key managers
      Returns:
      this
    • withIgnoreProxySettings

      public HttpConnectionOptions withIgnoreProxySettings()
      Ignore proxy settings completely regardless if a local proxy configuration or a global configuration is configured.
      Returns:
      this
    • addRequestProperty

      public HttpConnectionOptions addRequestProperty(String key, String value)
      Add a request property that will be converted to headers in the request.
      Parameters:
      key - The property (aka header) name (e.g. "User-Agent").
      value - The value of the property.
      Returns:
      this