Interface ClientEndpointProvider

All Known Implementing Classes:
AwsClientEndpointProvider, StaticClientEndpointProvider

@SdkProtectedApi public interface ClientEndpointProvider
Client endpoint providers are responsible for resolving client-level endpoints. EndpointProviders are ultimately responsible for resolving the endpoint used for a request.

EndpointProviders may choose to honor or completely ignore the client-level endpoint. Default endpoint providers will ignore the client-level endpoint, unless isEndpointOverridden() is true.

  • Method Summary

    Modifier and Type
    Method
    Description
    Retrieve the client endpoint from this provider.
    create(URI uri, boolean isEndpointOverridden)
    Create a client endpoint provider that uses the provided static URI and override settings.
    Create a client endpoint provider that uses the provided URI and returns true from isEndpointOverridden().
    boolean
    Returns true if this endpoint was specified as an override by the customer, or false if it was determined automatically by the SDK.
    default String
    Returns the client endpoint as a string with the query and user-info components stripped, as the rules engine's ParseURL rejects a URI carrying query parameters.
  • Method Details

    • forEndpointOverride

      static ClientEndpointProvider forEndpointOverride(URI uri)
      Create a client endpoint provider that uses the provided URI and returns true from isEndpointOverridden().
    • create

      static ClientEndpointProvider create(URI uri, boolean isEndpointOverridden)
      Create a client endpoint provider that uses the provided static URI and override settings.
    • clientEndpoint

      URI clientEndpoint()
      Retrieve the client endpoint from this provider.
    • sanitizedEndpointString

      default String sanitizedEndpointString()
      Returns the client endpoint as a string with the query and user-info components stripped, as the rules engine's ParseURL rejects a URI carrying query parameters. Returns null if the endpoint is not overridden.
    • isEndpointOverridden

      boolean isEndpointOverridden()
      Returns true if this endpoint was specified as an override by the customer, or false if it was determined automatically by the SDK.