Package org.projectnessie.client.http
Class NessieHttpClientBuilderImpl
java.lang.Object
org.projectnessie.client.NessieClientBuilder.AbstractNessieClientBuilder
org.projectnessie.client.http.NessieHttpClientBuilder.AbstractNessieHttpClientBuilder
org.projectnessie.client.http.NessieHttpClientBuilderImpl
- All Implemented Interfaces:
NessieHttpClientBuilder,NessieClientBuilder
public class NessieHttpClientBuilderImpl
extends NessieHttpClientBuilder.AbstractNessieHttpClientBuilder
NessieHttpClientBuilder and NessieClientBuilder implementation for HTTP/REST.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.projectnessie.client.NessieClientBuilder
NessieClientBuilder.AbstractNessieClientBuilderNested classes/interfaces inherited from interface org.projectnessie.client.http.NessieHttpClientBuilder
NessieHttpClientBuilder.AbstractNessieHttpClientBuilder -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddRequestFilter(RequestFilter filter) Add a request filter to the client.addResponseFilter(ResponseFilter filter) Add a response filter to the client.<API extends NessieApi>
APIBuilds a newNessieApi.fromConfig(Function<String, String> configuration) Configure this HttpClientBuilder instance using a configuration object and standard Nessie configuration keys defined by the constants defined inNessieConfigConstants.name()The name of the Nessie client implementation, for exampleHTTPfor the HTTP/REST client.names()Client names supported by this implementation.intpriority()Priority ordinal used to select the most relevantNessieClientBuilderimplementation.withApiCompatibilityCheck(boolean enable) withAuthentication(NessieAuthentication authentication) Sets theNessieAuthenticationinstance to be used.withAuthenticationFromConfig(Function<String, String> configuration) Configure only authentication in this HttpClientBuilder instance using a configuration object and standard Nessie configuration keys defined by the constants defined inNessieConfigConstants.withCancellationFuture(CompletionStage<?> cancellationFuture) Registers a future to cancel an ongoing, blocking client setup.withClientName(String clientName) withConnectionTimeout(int connectionTimeoutMillis) Set the connection timeout in milliseconds for this client.withDisableCompression(boolean disableCompression) Set whether the compression shall be disabled or not.withFollowRedirects(String redirects) Whether HTTP redirects are followed, default is to not follow redirects.withForceUrlConnectionClient(boolean forceUrlConnectionClient) Deprecated.withHttp2Upgrade(boolean http2Upgrade) Whether to allow HTTP/2 upgrade, default isfalse.withHttpHeader(String header, String value) Optionally configure additional HTTP headers.withReadTimeout(int readTimeoutMillis) Set the read timeout in milliseconds for this client.withResponseFactory(HttpResponseFactory responseFactory) withSSLCertificateVerificationDisabled(boolean certificateVerificationDisabled) Optional, disables certificate verifications, if set totrue.withSSLContext(SSLContext sslContext) Set the SSL context for this client.withSSLParameters(SSLParameters sslParameters) Optionally configure specificSSLParameters.withTracing(boolean tracing) Whether to enable adding the HTTP headers of an active OpenTracing span to all Nessie requests.Convenience method forNessieClientBuilder.withUri(URI)taking a string.Set the Nessie server URI.Methods inherited from class org.projectnessie.client.NessieClientBuilder.AbstractNessieClientBuilder
asInstanceOf, fromSystemPropertiesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.projectnessie.client.NessieClientBuilder
asInstanceOf, fromSystemProperties
-
Constructor Details
-
NessieHttpClientBuilderImpl
public NessieHttpClientBuilderImpl()
-
-
Method Details
-
name
Description copied from interface:NessieClientBuilderThe name of the Nessie client implementation, for exampleHTTPfor the HTTP/REST client. -
names
Description copied from interface:NessieClientBuilderClient names supported by this implementation. -
priority
public int priority()Description copied from interface:NessieClientBuilderPriority ordinal used to select the most relevantNessieClientBuilderimplementation. -
withUri
Set the Nessie server URI. A server URI must be configured.- Specified by:
withUriin interfaceNessieClientBuilder- Specified by:
withUriin interfaceNessieHttpClientBuilder- Overrides:
withUriin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
uri- server URI- Returns:
this
-
withAuthentication
@CanIgnoreReturnValue public NessieHttpClientBuilderImpl withAuthentication(NessieAuthentication authentication) Description copied from interface:NessieClientBuilderSets theNessieAuthenticationinstance to be used.- Specified by:
withAuthenticationin interfaceNessieClientBuilder- Specified by:
withAuthenticationin interfaceNessieHttpClientBuilder- Overrides:
withAuthenticationin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
authentication- authentication for this client- Returns:
this
-
withTracing
Whether to enable adding the HTTP headers of an active OpenTracing span to all Nessie requests. If enabled, the OpenTracing dependencies must be present at runtime.- Specified by:
withTracingin interfaceNessieClientBuilder- Specified by:
withTracingin interfaceNessieHttpClientBuilder- Overrides:
withTracingin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
tracing-trueto enable passing HTTP headers for active tracing spans.- Returns:
this
-
withReadTimeout
Set the read timeout in milliseconds for this client. Timeout will throwHttpClientReadTimeoutException.- Specified by:
withReadTimeoutin interfaceNessieClientBuilder- Specified by:
withReadTimeoutin interfaceNessieHttpClientBuilder- Overrides:
withReadTimeoutin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
readTimeoutMillis- number of seconds to wait for a response from server.- Returns:
this
-
withConnectionTimeout
@CanIgnoreReturnValue public NessieHttpClientBuilderImpl withConnectionTimeout(int connectionTimeoutMillis) Set the connection timeout in milliseconds for this client. Timeout will throwHttpClientException.- Specified by:
withConnectionTimeoutin interfaceNessieClientBuilder- Specified by:
withConnectionTimeoutin interfaceNessieHttpClientBuilder- Overrides:
withConnectionTimeoutin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
connectionTimeoutMillis- number of seconds to wait to connect to the server.- Returns:
this
-
withDisableCompression
@CanIgnoreReturnValue public NessieHttpClientBuilderImpl withDisableCompression(boolean disableCompression) Set whether the compression shall be disabled or not.- Specified by:
withDisableCompressionin interfaceNessieClientBuilder- Specified by:
withDisableCompressionin interfaceNessieHttpClientBuilder- Overrides:
withDisableCompressionin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
disableCompression- whether the compression shall be disabled or not.- Returns:
this
-
withSSLCertificateVerificationDisabled
@CanIgnoreReturnValue public NessieHttpClientBuilderImpl withSSLCertificateVerificationDisabled(boolean certificateVerificationDisabled) Description copied from interface:NessieClientBuilderOptional, disables certificate verifications, if set totrue. Can be useful for testing purposes, not recommended for production systems.- Specified by:
withSSLCertificateVerificationDisabledin interfaceNessieClientBuilder- Overrides:
withSSLCertificateVerificationDisabledin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
withSSLContext
Set the SSL context for this client.- Specified by:
withSSLContextin interfaceNessieClientBuilder- Specified by:
withSSLContextin interfaceNessieHttpClientBuilder- Overrides:
withSSLContextin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
sslContext- the SSL context to use- Returns:
this
-
withSSLParameters
@CanIgnoreReturnValue public NessieHttpClientBuilderImpl withSSLParameters(SSLParameters sslParameters) Description copied from interface:NessieClientBuilderOptionally configure specificSSLParameters.- Specified by:
withSSLParametersin interfaceNessieClientBuilder- Specified by:
withSSLParametersin interfaceNessieHttpClientBuilder- Overrides:
withSSLParametersin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
withHttp2Upgrade
Description copied from interface:NessieHttpClientBuilderWhether to allow HTTP/2 upgrade, default isfalse.Only valid on Java 11 and newer with Java's new HTTP client.
- Specified by:
withHttp2Upgradein interfaceNessieHttpClientBuilder- Overrides:
withHttp2Upgradein classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
withFollowRedirects
Description copied from interface:NessieHttpClientBuilderWhether HTTP redirects are followed, default is to not follow redirects.Valid values are the enum names of
HttpClient.Redirect.Only valid on Java 11 and newer with Java's new HTTP client.
- Specified by:
withFollowRedirectsin interfaceNessieHttpClientBuilder- Overrides:
withFollowRedirectsin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
withForceUrlConnectionClient
@CanIgnoreReturnValue @Deprecated public NessieHttpClientBuilderImpl withForceUrlConnectionClient(boolean forceUrlConnectionClient) Deprecated.Description copied from interface:NessieHttpClientBuilderWhether to force using theURLConnectionbased client.- Specified by:
withForceUrlConnectionClientin interfaceNessieHttpClientBuilder- Overrides:
withForceUrlConnectionClientin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
withClientName
- Specified by:
withClientNamein interfaceNessieHttpClientBuilder- Overrides:
withClientNamein classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
withApiCompatibilityCheck
- Specified by:
withApiCompatibilityCheckin interfaceNessieClientBuilder- Specified by:
withApiCompatibilityCheckin interfaceNessieHttpClientBuilder- Overrides:
withApiCompatibilityCheckin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
withResponseFactory
@CanIgnoreReturnValue public NessieHttpClientBuilderImpl withResponseFactory(HttpResponseFactory responseFactory) - Specified by:
withResponseFactoryin interfaceNessieHttpClientBuilder- Overrides:
withResponseFactoryin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
addRequestFilter
Description copied from interface:NessieHttpClientBuilderAdd a request filter to the client. Enables low-level access to the request/response processing.- Specified by:
addRequestFilterin interfaceNessieHttpClientBuilder- Overrides:
addRequestFilterin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
addResponseFilter
Description copied from interface:NessieHttpClientBuilderAdd a response filter to the client. Enables low-level access to the request/response processing.- Specified by:
addResponseFilterin interfaceNessieHttpClientBuilder- Overrides:
addResponseFilterin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder
-
fromConfig
Description copied from class:NessieHttpClientBuilder.AbstractNessieHttpClientBuilderConfigure this HttpClientBuilder instance using a configuration object and standard Nessie configuration keys defined by the constants defined inNessieConfigConstants. Non-nullvalues returned by theconfiguration-function will override previously configured values.- Specified by:
fromConfigin interfaceNessieClientBuilder- Specified by:
fromConfigin interfaceNessieHttpClientBuilder- Overrides:
fromConfigin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
configuration- The function that returns a configuration value for a configuration key.- Returns:
this- See Also:
-
withAuthenticationFromConfig
public NessieHttpClientBuilderImpl withAuthenticationFromConfig(Function<String, String> configuration) Description copied from interface:NessieClientBuilderConfigure only authentication in this HttpClientBuilder instance using a configuration object and standard Nessie configuration keys defined by the constants defined inNessieConfigConstants.- Specified by:
withAuthenticationFromConfigin interfaceNessieClientBuilder- Specified by:
withAuthenticationFromConfigin interfaceNessieHttpClientBuilder- Overrides:
withAuthenticationFromConfigin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
configuration- The function that returns a configuration value for a configuration key.- Returns:
this- See Also:
-
withUri
Description copied from interface:NessieClientBuilderConvenience method forNessieClientBuilder.withUri(URI)taking a string.- Specified by:
withUriin interfaceNessieClientBuilder- Specified by:
withUriin interfaceNessieHttpClientBuilder- Overrides:
withUriin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
uri- server URI- Returns:
this
-
withHttpHeader
Description copied from interface:NessieClientBuilderOptionally configure additional HTTP headers.- Specified by:
withHttpHeaderin interfaceNessieClientBuilder- Specified by:
withHttpHeaderin interfaceNessieHttpClientBuilder- Overrides:
withHttpHeaderin classNessieHttpClientBuilder.AbstractNessieHttpClientBuilder- Parameters:
header- header namevalue- header value
-
withCancellationFuture
Description copied from interface:NessieClientBuilderRegisters a future to cancel an ongoing, blocking client setup.When using "blocking" authentication, for example OAuth2 device or code flows, is being used, users may want to cancel an ongoing authentication. An application can register a callback that can be called asynchronously, for example from a SIGINT handler.
To implement cancellation:
CompletableFuture<?> cancel = new CompletableFuture<>(); registerYourInterruptHandler(cancel::complete); NessieClientBuilder.createClientBuilderFromSystemSettings(...) .withCancellationFuture(cancel);- Specified by:
withCancellationFuturein interfaceNessieClientBuilder- Overrides:
withCancellationFuturein classNessieClientBuilder.AbstractNessieClientBuilder
-
build
Description copied from interface:NessieClientBuilderBuilds a newNessieApi.- Returns:
- A new
NessieApi.
-