Interface ServerBuilder
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 Summary
Modifier and TypeMethodDescriptionadaptSettings
(scala.Function1<ServerSettings, ServerSettings> f) Adapt the current configured settings with a function.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 asynchronoushandler
Flow
for processing all incoming connections.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 givenhandler
Flow
for processing all incoming connections.scala.concurrent.Future<Http.ServerBinding>
bindSync
(scala.Function1<HttpRequest, HttpResponse> f) Bind a new HTTP server at the given endpoint and uses the givenhandler
Flow
for processing all incoming connections.akka.stream.scaladsl.Source<Http.IncomingConnection,
scala.concurrent.Future<Http.ServerBinding>> Creates aSource
ofHttp.IncomingConnection
instances which represents a prospective HTTP server binding on the givenendpoint
.enableHttps
(HttpsConnectionContext context) Enable HTTPS for this binding with the given context.logTo
(akka.event.LoggingAdapter log) Use a custom loggeronInterface
(String interface_) Change interface to bind toonPort
(int port) Change port to bind towithMaterializer
(akka.stream.Materializer materializer) Use customMaterializer
for the bindingwithSettings
(ServerSettings settings) Use customServerSettings
for the binding.
-
Method Details
-
onInterface
Change interface to bind to -
onPort
Change port to bind to -
logTo
Use a custom logger -
withSettings
Use customServerSettings
for the binding.- Parameters:
settings
- (undocumented)- Returns:
- (undocumented)
-
adaptSettings
Adapt the current configured settings with a function.- Parameters:
f
- (undocumented)- Returns:
- (undocumented)
-
enableHttps
Enable HTTPS for this binding with the given context.- Parameters:
context
- (undocumented)- Returns:
- (undocumented)
-
withMaterializer
Use customMaterializer
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 asynchronoushandler
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
Bind a new HTTP server at the given endpoint and uses the givenhandler
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 givenhandler
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 aSource
ofHttp.IncomingConnection
instances which represents a prospective HTTP server binding on the givenendpoint
.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)
-