trait ServerBuilder extends AnyRef
Builder API to create server bindings.
Use Http.newServerAt() to create a builder, use methods to customize settings, and then call one of the bind* methods to bind a server.
- Source
- ServerBuilder.scala
- Alphabetic
- By Inheritance
- ServerBuilder
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def adaptSettings(f: Function[ServerSettings, ServerSettings]): ServerBuilder
Adapt the current configured settings with a function.
- abstract def bind(handlerProvider: HandlerProvider): CompletionStage[ServerBinding]
Bind a new HTTP server and use the given handler provider to create an asynchronous
handler
pekko.stream.javadsl.Flow for processing all incoming connections.Bind a new HTTP server and use the given handler provider to create an asynchronous
handler
pekko.stream.javadsl.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
pekko.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 http2 support is enabled.
- abstract def bind(f: Function[HttpRequest, CompletionStage[HttpResponse]]): CompletionStage[ServerBinding]
Bind a new HTTP server and use the given asynchronous
handler
pekko.stream.javadsl.Flow for processing all incoming connections.Bind a new HTTP server and use the given asynchronous
handler
pekko.stream.javadsl.Flow for processing all incoming connections.The number of concurrently accepted connections can be configured by overriding the
pekko.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 http2 support is enabled.
- abstract def bindFlow(handlerFlow: Flow[HttpRequest, HttpResponse, _]): CompletionStage[ServerBinding]
Binds a new HTTP server at the given endpoint and uses the given
handler
pekko.stream.scaladsl.Flow for processing all incoming connections.Binds a new HTTP server at the given endpoint and uses the given
handler
pekko.stream.scaladsl.Flow for processing all incoming connections.The number of concurrently accepted connections can be configured by overriding the
pekko.http.server.max-connections
setting. Please see the documentation in the reference.conf for more information about what kind of guarantees to expect. - abstract def bindSync(f: Function[HttpRequest, HttpResponse]): CompletionStage[ServerBinding]
Bind a new HTTP server at the given endpoint and uses the given
handler
pekko.stream.javadsl.Flow for processing all incoming connections.Bind a new HTTP server at the given endpoint and uses the given
handler
pekko.stream.javadsl.Flow for processing all incoming connections.The number of concurrently accepted connections can be configured by overriding the
pekko.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 http2 support is enabled.
- abstract def connectionSource(): Source[IncomingConnection, CompletionStage[ServerBinding]]
Creates a pekko.stream.javadsl.Source of pekko.http.javadsl.IncomingConnection instances which represents a prospective HTTP server binding on the given
endpoint
.Creates a pekko.stream.javadsl.Source of pekko.http.javadsl.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 pekko.http.javadsl.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 pekko.http.javadsl.ServerBinding.
- abstract def enableHttps(context: HttpsConnectionContext): ServerBuilder
Enable HTTPS for this binding with the given context.
- abstract def logTo(log: LoggingAdapter): ServerBuilder
Use a custom logger
- abstract def onInterface(interface: String): ServerBuilder
Change interface to bind to
- abstract def onPort(port: Int): ServerBuilder
Change port to bind to
- abstract def withMaterializer(materializer: Materializer): ServerBuilder
Use custom Materializer for the binding
- abstract def withSettings(settings: ServerSettings): ServerBuilder
Use custom ServerSettings for the binding.