Class ClientTransport

java.lang.Object
akka.http.javadsl.ClientTransport

public abstract class ClientTransport extends Object
(Still unstable) SPI for implementors of custom client transports.
  • Constructor Details

    • ClientTransport

      public ClientTransport()
  • Method Details

    • TCP

      public static ClientTransport TCP()
    • httpsProxy

      public static ClientTransport httpsProxy(InetSocketAddress proxyAddress)
      Returns a ClientTransport that runs all connection through the given HTTP(S) proxy using the HTTP CONNECT method.

      An HTTP(S) proxy is a proxy that will create one TCP connection to the HTTP(S) proxy for each target connection. The proxy transparently forwards the TCP connection to the target host.

      For more information about HTTP CONNECT tunnelling see https://tools.ietf.org/html/rfc7231#section-4.3.6.

      Parameters:
      proxyAddress - (undocumented)
      Returns:
      (undocumented)
    • httpsProxy

      public static ClientTransport httpsProxy(akka.actor.ActorSystem system)
      Returns a ClientTransport that runs all connection through the given HTTP(S) proxy using the HTTP CONNECT method.

      Pulls the host/port pair from the application.conf: akka.client.proxy.https.{host, port}

      Parameters:
      system - (undocumented)
      Returns:
      (undocumented)
    • httpsProxy

      public static ClientTransport httpsProxy(InetSocketAddress proxyAddress, HttpCredentials proxyCredentials)
      Returns a ClientTransport that runs all connection through the given HTTP(S) proxy using the HTTP CONNECT method. This call also takes HttpCredentials to base proxy credentials along with the request.

      An HTTP(S) proxy is a proxy that will create one TCP connection to the HTTP(S) proxy for each target connection. The proxy transparently forwards the TCP connection to the target host.

      For more information about HTTP CONNECT tunnelling see https://tools.ietf.org/html/rfc7231#section-4.3.6.

      Parameters:
      proxyAddress - (undocumented)
      proxyCredentials - (undocumented)
      Returns:
      (undocumented)
    • httpsProxy

      public static ClientTransport httpsProxy(HttpCredentials proxyCredentials, akka.actor.ActorSystem system)
      Returns a ClientTransport that runs all connection through the given HTTP(S) proxy using the HTTP CONNECT method. This method also takes HttpCredentials in order to pass along to the proxy.

      Pulls the host/port pair from the application.conf: akka.client.proxy.https.{host, port}

      Parameters:
      proxyCredentials - (undocumented)
      system - (undocumented)
      Returns:
      (undocumented)
    • withCustomResolver

      public static ClientTransport withCustomResolver(BiFunction<String,Object,CompletionStage<InetSocketAddress>> lookup)
      Returns a ClientTransport that allows to customize host name resolution.
      Parameters:
      lookup - A function that will be called with hostname and port and that should (potentially asynchronously resolve the given host/port to an InetSocketAddress
      Returns:
      (undocumented)
    • fromScala

      public static ClientTransport fromScala(ClientTransport scalaTransport)
    • toScala

      public static ClientTransport toScala(ClientTransport javaTransport)
    • connectTo

      public abstract akka.stream.javadsl.Flow<akka.util.ByteString,akka.util.ByteString,CompletionStage<OutgoingConnection>> connectTo(String host, int port, ClientConnectionSettings settings, akka.actor.ActorSystem system)