Interface ServerBuilder


public interface ServerBuilder
Builder API to create server bindings.

Use {@link Http.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(akka.japi.function.Function<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

      CompletionStage<ServerBinding> bind(akka.japi.function.Function<HttpRequest,CompletionStage<HttpResponse>> f)
      Bind a new HTTP server 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)
    • bind

      Bind a new HTTP server and use the given handler provider to create an asynchronous handler Flow for processing all incoming connections.

      Most importantly, you can pass a Route to this method because Route implements HandlerProvider.

      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:
      handlerProvider - (undocumented)
      Returns:
      (undocumented)
    • bindSync

      CompletionStage<ServerBinding> bindSync(akka.japi.function.Function<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

      CompletionStage<ServerBinding> bindFlow(akka.stream.javadsl.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.javadsl.Source<IncomingConnection,CompletionStage<ServerBinding>> connectionSource()
      Creates a Source of 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 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 ServerBinding.

      Returns:
      (undocumented)