Class HttpConfigurationBuilder
java.lang.Object
com.launchdarkly.sdk.server.integrations.HttpConfigurationBuilder
- All Implemented Interfaces:
HttpConfigurationFactory
public abstract class HttpConfigurationBuilder extends java.lang.Object implements HttpConfigurationFactory
Contains methods for configuring the SDK's networking behavior.
If you want to set non-default values for any of these properties, create a builder with
Components.httpConfiguration()
, change its properties with the methods of this class,
and pass it to LDConfig.Builder.http(HttpConfigurationFactory)
:
LDConfig config = new LDConfig.Builder()
.http(
Components.httpConfiguration()
.connectTimeoutMillis(3000)
.proxyHostAndPort("my-proxy", 8080)
)
.build();
Note that this class is abstract; the actual implementation is created by calling Components.httpConfiguration()
.
- Since:
- 4.13.0
-
Field Summary
Fields Modifier and Type Field Description protected java.time.Duration
connectTimeout
static java.time.Duration
DEFAULT_CONNECT_TIMEOUT
The default value forconnectTimeout(Duration)
: two seconds.static java.time.Duration
DEFAULT_SOCKET_TIMEOUT
The default value forsocketTimeout(Duration)
: 10 seconds.protected HttpAuthentication
proxyAuth
protected java.lang.String
proxyHost
protected int
proxyPort
protected javax.net.SocketFactory
socketFactory
protected java.time.Duration
socketTimeout
protected javax.net.ssl.SSLSocketFactory
sslSocketFactory
protected javax.net.ssl.X509TrustManager
trustManager
protected java.lang.String
wrapperName
protected java.lang.String
wrapperVersion
-
Constructor Summary
Constructors Constructor Description HttpConfigurationBuilder()
-
Method Summary
Modifier and Type Method Description HttpConfigurationBuilder
connectTimeout(java.time.Duration connectTimeout)
Sets the connection timeout.HttpConfigurationBuilder
proxyAuth(HttpAuthentication strategy)
Sets an authentication strategy for use with an HTTP proxy.HttpConfigurationBuilder
proxyHostAndPort(java.lang.String host, int port)
Sets an HTTP proxy for making connections to LaunchDarkly.HttpConfigurationBuilder
socketFactory(javax.net.SocketFactory socketFactory)
Specifies a custom socket configuration for HTTP connections to LaunchDarkly.HttpConfigurationBuilder
socketTimeout(java.time.Duration socketTimeout)
Sets the socket timeout.HttpConfigurationBuilder
sslSocketFactory(javax.net.ssl.SSLSocketFactory sslSocketFactory, javax.net.ssl.X509TrustManager trustManager)
Specifies a custom security configuration for HTTPS connections to LaunchDarkly.HttpConfigurationBuilder
wrapper(java.lang.String wrapperName, java.lang.String wrapperVersion)
For use by wrapper libraries to set an identifying name for the wrapper being used.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.launchdarkly.sdk.server.interfaces.HttpConfigurationFactory
createHttpConfiguration
-
Field Details
-
DEFAULT_CONNECT_TIMEOUT
public static final java.time.Duration DEFAULT_CONNECT_TIMEOUTThe default value forconnectTimeout(Duration)
: two seconds. -
DEFAULT_SOCKET_TIMEOUT
public static final java.time.Duration DEFAULT_SOCKET_TIMEOUTThe default value forsocketTimeout(Duration)
: 10 seconds. -
connectTimeout
protected java.time.Duration connectTimeout -
proxyAuth
-
proxyHost
protected java.lang.String proxyHost -
proxyPort
protected int proxyPort -
socketTimeout
protected java.time.Duration socketTimeout -
socketFactory
protected javax.net.SocketFactory socketFactory -
sslSocketFactory
protected javax.net.ssl.SSLSocketFactory sslSocketFactory -
trustManager
protected javax.net.ssl.X509TrustManager trustManager -
wrapperName
protected java.lang.String wrapperName -
wrapperVersion
protected java.lang.String wrapperVersion
-
-
Constructor Details
-
HttpConfigurationBuilder
public HttpConfigurationBuilder()
-
-
Method Details
-
connectTimeout
Sets the connection timeout. This is the time allowed for the SDK to make a socket connection to any of the LaunchDarkly services.The default is
DEFAULT_CONNECT_TIMEOUT
.- Parameters:
connectTimeout
- the connection timeout; null to use the default- Returns:
- the builder
-
proxyHostAndPort
Sets an HTTP proxy for making connections to LaunchDarkly.- Parameters:
host
- the proxy hostnameport
- the proxy port- Returns:
- the builder
-
proxyAuth
Sets an authentication strategy for use with an HTTP proxy. This has no effect unless a proxy was specified withproxyHostAndPort(String, int)
.- Parameters:
strategy
- the authentication strategy- Returns:
- the builder
-
socketTimeout
Sets the socket timeout. This is the amount of time without receiving data on a connection that the SDK will tolerate before signaling an error. This does not apply to the streaming connection used byComponents.streamingDataSource()
, which has its own non-configurable read timeout based on the expected behavior of the LaunchDarkly streaming service.The default is
DEFAULT_SOCKET_TIMEOUT
.- Parameters:
socketTimeout
- the socket timeout; null to use the default- Returns:
- the builder
-
socketFactory
Specifies a custom socket configuration for HTTP connections to LaunchDarkly.This uses the standard Java interfaces for configuring socket connections.
- Parameters:
socketFactory
- the socket factory- Returns:
- the builder
-
sslSocketFactory
public HttpConfigurationBuilder sslSocketFactory(javax.net.ssl.SSLSocketFactory sslSocketFactory, javax.net.ssl.X509TrustManager trustManager)Specifies a custom security configuration for HTTPS connections to LaunchDarkly.This uses the standard Java interfaces for configuring secure socket connections and certificate verification.
- Parameters:
sslSocketFactory
- the SSL socket factorytrustManager
- the trust manager- Returns:
- the builder
-
wrapper
public HttpConfigurationBuilder wrapper(java.lang.String wrapperName, java.lang.String wrapperVersion)For use by wrapper libraries to set an identifying name for the wrapper being used. This will be included in a header during requests to the LaunchDarkly servers to allow recording metrics on the usage of these wrapper libraries.- Parameters:
wrapperName
- an identifying name for the wrapper librarywrapperVersion
- version string for the wrapper library- Returns:
- the builder
-