trait Server extends Service
An HTTP server.
val eventuallyContent = server(Get("/hello")).flatMap { response => response.readAs[String] }
An HTTP server is a service function. It handles HTTP requests and eventually returns HTTP responses.
The server listen for HTTP connections on the socketAddress TCP socket. If ssl is defined, it supports TLS connections. Calling the stop operation asks for a graceful shutdown.
- Alphabetic
- By Inheritance
- Server
- Function1
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
apply(v1: Request): IO[Response]
- Definition Classes
- Function1
-
abstract
def
options: ServerOptions
- returns
the server options such as the number of IO thread used.
-
abstract
def
socketAddress: InetSocketAddress
- returns
the underlying server socket.
-
abstract
def
ssl: Option[ServerConfiguration]
- returns
the SSL configuration if enabled.
-
abstract
def
stop(quietPeriod: Duration = 2.seconds, timeout: Duration = 15.seconds): Future[Unit]
Stop this server instance gracefully.
Stop this server instance gracefully. It ensures that no requests are handled for 'the quiet period' (usually a couple seconds) before it shuts itself down. If a request is submitted during the quiet period, it is guaranteed to be accepted and the quiet period will start over.
- quietPeriod
The quiet period for the graceful shutdown.
- timeout
The maximum amount of time to wait until the server is shutdown regardless of the quiet period.
- returns
a Future resolved as soon as the server is shutdown.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
andThen[A](g: (IO[Response]) ⇒ A): (Request) ⇒ A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
compose[A](g: (A) ⇒ Request): (A) ⇒ IO[Response]
- Definition Classes
- Function1
- Annotations
- @unspecialized()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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()
-
def
port: Int
- returns
the TCP port from the underlying server socket.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Server → Function1 → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )