Packages

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.

Linear Supertypes
(Request) ⇒ IO[Response], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Server
  2. Function1
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply(v1: Request): IO[Response]
    Definition Classes
    Function1
  2. abstract def options: ServerOptions

    returns

    the server options such as the number of IO thread used.

  3. abstract def socketAddress: InetSocketAddress

    returns

    the underlying server socket.

  4. abstract def ssl: Option[ServerConfiguration]

    returns

    the SSL configuration if enabled.

  5. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (IO[Response]) ⇒ A): (Request) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. def compose[A](g: (A) ⇒ Request): (A) ⇒ IO[Response]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def port: Int

    returns

    the TCP port from the underlying server socket.

  18. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    Server → Function1 → AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from (Request) ⇒ IO[Response]

Inherited from AnyRef

Inherited from Any

Ungrouped