trait ServerBuilder extends AnyRef
Builder API to create server bindings.
Use HttpExt.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: (ServerSettings) => ServerSettings): ServerBuilder
Adapt the current configured settings with a function.
- abstract def bind(f: (HttpRequest) => Future[HttpResponse]): Future[ServerBinding]
Bind a new HTTP server at the given endpoint and use the given asynchronous
handler
pekko.stream.scaladsl.Flow for processing all incoming connections.Bind a new HTTP server at the given endpoint and use the given asynchronous
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.Supports HTTP/2 on the same port if http2 support is enabled.
- abstract def bindFlow(handlerFlow: Flow[HttpRequest, HttpResponse, _]): Future[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: (HttpRequest) => HttpResponse): Future[ServerBinding]
Bind a new HTTP server at the given endpoint and uses the given
handler
pekko.stream.scaladsl.Flow for processing all incoming connections.Bind 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.Supports HTTP/2 on the same port if http2 support is enabled.
- abstract def connectionSource(): Source[IncomingConnection, Future[ServerBinding]]
Creates a pekko.stream.scaladsl.Source of pekko.http.scaladsl.Http.IncomingConnection instances which represents a prospective HTTP server binding on the given
endpoint
.Creates a pekko.stream.scaladsl.Source of pekko.http.scaladsl.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 pekko.http.scaladsl.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 pekko.http.scaladsl.Http.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.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ServerBuilder toany2stringadd[ServerBuilder] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ServerBuilder, B)
- Implicit
- This member is added by an implicit conversion from ServerBuilder toArrowAssoc[ServerBuilder] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (ServerBuilder) => Boolean, msg: => Any): ServerBuilder
- Implicit
- This member is added by an implicit conversion from ServerBuilder toEnsuring[ServerBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ServerBuilder) => Boolean): ServerBuilder
- Implicit
- This member is added by an implicit conversion from ServerBuilder toEnsuring[ServerBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ServerBuilder
- Implicit
- This member is added by an implicit conversion from ServerBuilder toEnsuring[ServerBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ServerBuilder
- Implicit
- This member is added by an implicit conversion from ServerBuilder toEnsuring[ServerBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ServerBuilder toStringFormat[ServerBuilder] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (ServerBuilder, B)
- Implicit
- This member is added by an implicit conversion from ServerBuilder toArrowAssoc[ServerBuilder] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.