Interface HttpDestinationProperties

All Superinterfaces:
Destination, DestinationProperties
All Known Subinterfaces:
HttpDestination
All Known Implementing Classes:
DefaultHttpDestination

public interface HttpDestinationProperties extends Destination
Adds HTTP relevant fields to the "generic" destination.
  • Method Details

    • getUri

      @Nonnull URI getUri()
      Getter for the URI to communicate with.

      This is a mandatory property of a HttpDestination.

      Returns:
      The URI to be used with this destination.
    • getHeaders

      @Nonnull Collection<Header> getHeaders(@Nonnull URI requestUri)
      Getter for a collection of headers that should be added to the outgoing request for this destination.
      Parameters:
      requestUri - The target URI of a request to which HTTP headers should be added.
      Returns:
      A collection with all headers to be used when communicating with the target of the destination.
    • getHeaders

      @Nonnull default Collection<Header> getHeaders()
      Convenience method to get the headers for a request against the destination's URI.
      Returns:
      the headers of this destination.
      See Also:
    • getTlsVersion

      @Nonnull io.vavr.control.Option<String> getTlsVersion()
      The TLS version to be used when communicating over HTTP.
      Returns:
      An Option wrapping the TLS version to use, if any.
    • getProxyConfiguration

      @Nonnull io.vavr.control.Option<ProxyConfiguration> getProxyConfiguration()
      The ProxyConfiguration to be used when communicating over HTTP.
      Returns:
      An Option wrapping the ProxyConfiguration to use, if any.
    • getKeyStore

      @Nonnull io.vavr.control.Option<KeyStore> getKeyStore()
      The KeyStore to be used when communicating over HTTP.
      Returns:
      An Option wrapping the KeyStore to use, if any.
    • getKeyStorePassword

      @Nonnull io.vavr.control.Option<String> getKeyStorePassword()
      The password for the Key Store to be used when communicating over HTTP.
      Returns:
      An Option wrapping the password to use, if any.
    • isTrustingAllCertificates

      boolean isTrustingAllCertificates()
      Indicates whether all server certificates should be accepted when communicating over HTTP.
      Returns:
      true if all certificates should be accepted, false otherwise.
    • getBasicCredentials

      @Nonnull io.vavr.control.Option<BasicCredentials> getBasicCredentials()
      Returns the basic credentials to be used for authentication at the remote system.
      Returns:
      An Option wrapping the BasicCredentials to use, if any.
    • getAuthenticationType

      @Nonnull AuthenticationType getAuthenticationType()
      Returns the authentication type to be expected when authenticating at the remote system.
      Returns:
      This destination authentication type.
    • getProxyType

      @Nonnull io.vavr.control.Option<ProxyType> getProxyType()
      Returns the ProxyType that is configured for this destination.
      Returns:
      An Option wrapping the ProxyType to use, if any.
    • getTrustStore

      @Nonnull io.vavr.control.Option<KeyStore> getTrustStore()
      Returns the optional trust store of the destination.
      Returns:
      The optional trust store of the destination.
      Throws:
      DestinationAccessException - If there is an issue accessing the trust store.
    • getTrustStorePassword

      @Nonnull io.vavr.control.Option<String> getTrustStorePassword()
      Returns the optional trust store password of the destination.
      Returns:
      The optional trust store password of the destination.
    • getSecurityConfigurationStrategy

      @Nonnull default SecurityConfigurationStrategy getSecurityConfigurationStrategy()
      Defines from how the SSLContext for outbound HTTP calls via this destination is determined from.
      Returns:
      The optional SecurityConfigurationStrategy of the destination