Interface ServerBuilder


public interface ServerBuilder
Builder API to create server bindings.

Use {@link HttpExt.newServerAt()} to create a builder, use methods to customize settings, and then call one of the bind* methods to bind a server.

  • Method Details

    • onInterface

      ServerBuilder onInterface(String interface_)
      Change interface to bind to
    • onPort

      ServerBuilder onPort(int port)
      Change port to bind to
    • logTo

      ServerBuilder logTo(akka.event.LoggingAdapter log)
      Use a custom logger
    • withSettings

      ServerBuilder withSettings(ServerSettings settings)
      Use custom ServerSettings for the binding.
      Parameters:
      settings - (undocumented)
      Returns:
      (undocumented)
    • adaptSettings

      ServerBuilder adaptSettings(scala.Function1<ServerSettings,ServerSettings> f)
      Adapt the current configured settings with a function.
      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • enableHttps

      ServerBuilder enableHttps(HttpsConnectionContext context)
      Enable HTTPS for this binding with the given context.
      Parameters:
      context - (undocumented)
      Returns:
      (undocumented)
    • withMaterializer

      ServerBuilder withMaterializer(akka.stream.Materializer materializer)
      Use custom Materializer for the binding
      Parameters:
      materializer - (undocumented)
      Returns:
      (undocumented)
    • bind

      scala.concurrent.Future<Http.ServerBinding> bind(scala.Function1<HttpRequest,scala.concurrent.Future<HttpResponse>> f)
      Bind a new HTTP server at the given endpoint and use the given asynchronous handler Flow for processing all incoming connections.

      The number of concurrently accepted connections can be configured by overriding the akka.http.server.max-connections setting. Please see the documentation in the reference.conf for more information about what kind of guarantees to expect.

      Supports HTTP/2 on the same port if the akka-http2-support module is on the classpath and http2 support is enabled.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • bindSync

      scala.concurrent.Future<Http.ServerBinding> bindSync(scala.Function1<HttpRequest,HttpResponse> f)
      Bind a new HTTP server at the given endpoint and uses the given handler Flow for processing all incoming connections.

      The number of concurrently accepted connections can be configured by overriding the akka.http.server.max-connections setting. Please see the documentation in the reference.conf for more information about what kind of guarantees to expect.

      Supports HTTP/2 on the same port if the akka-http2-support module is on the classpath and http2 support is enabled.

      Parameters:
      f - (undocumented)
      Returns:
      (undocumented)
    • bindFlow

      scala.concurrent.Future<Http.ServerBinding> bindFlow(akka.stream.scaladsl.Flow<HttpRequest,HttpResponse,?> handlerFlow)
      Binds a new HTTP server at the given endpoint and uses the given handler Flow for processing all incoming connections.

      The number of concurrently accepted connections can be configured by overriding the akka.http.server.max-connections setting. Please see the documentation in the reference.conf for more information about what kind of guarantees to expect.

      Parameters:
      handlerFlow - (undocumented)
      Returns:
      (undocumented)
    • connectionSource

      akka.stream.scaladsl.Source<Http.IncomingConnection,scala.concurrent.Future<Http.ServerBinding>> connectionSource()
      Creates a Source of Http.IncomingConnection instances which represents a prospective HTTP server binding on the given endpoint.

      Note that each materialization will create a new binding, so

      * if the configured port is 0 the resulting source can be materialized several times. Each materialization will then be assigned a new local port by the operating system, which can then be retrieved by the materialized Http.ServerBinding.

      * if the configured port is non-zero subsequent materialization attempts of the produced source will immediately fail, unless the first materialization has already been unbound. Unbinding can be triggered via the materialized Http.ServerBinding.

      Returns:
      (undocumented)