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 Detail

      • onInterface

        ServerBuilder onInterface​(java.lang.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)