Packages

trait ServerBuilder[F[_]] extends BackendBuilder[F, Server]

Source
ServerBuilder.scala
Linear Supertypes
BackendBuilder[F, Server], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ServerBuilder
  2. BackendBuilder
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type Self <: ServerBuilder[F]

Abstract Value Members

  1. abstract def bindSocketAddress(socketAddress: InetSocketAddress): Self
  2. abstract def resource: Resource[F, Server]

    Returns a Server resource.

    Returns a Server resource. The resource is not acquired until the server is started and ready to accept requests.

    Definition Classes
    ServerBuilder → BackendBuilder
  3. abstract def withBanner(banner: Seq[String]): Self

    Set the banner to display when the server starts up

  4. abstract def withServiceErrorHandler(serviceErrorHandler: (Request[F]) ⇒ PartialFunction[Throwable, F[Response[F]]]): Self

    Sets the handler for errors thrown invoking the service.

    Sets the handler for errors thrown invoking the service. Is not guaranteed to be invoked on errors on the server backend, such as parsing a request or handling a context timeout.

Concrete Value Members

  1. def allocated: F[(Server, F[Unit])]

    Returns an effect that allocates a backend and an F[Unit] to release it.

    Returns an effect that allocates a backend and an F[Unit] to release it. The returned F waits until the backend is ready to process requests. The second element of the tuple shuts down the backend when run.

    Unlike resource and stream, there is no automatic release of the backend. This function is intended for REPL sessions, tests, and other situations where composing a cats.effect.Resource or fs2.Stream is not tenable. resource or stream is recommended wherever possible.

    Definition Classes
    BackendBuilder
  2. final def bindAny(host: String = defaults.IPv4Host): Self
  3. final def bindHttp(port: Int = defaults.HttpPort, host: String = defaults.IPv4Host): Self
  4. final def bindLocal(port: Int): Self
  5. final def serve: Stream[F, ExitCode]

    Runs the server as a process that never emits.

    Runs the server as a process that never emits. Useful for a server that runs for the rest of the JVM's life.

  6. final def serveWhile(terminateWhenTrue: Signal[F, Boolean], exitWith: Ref[F, ExitCode]): Stream[F, ExitCode]

    Runs the server as a Stream that emits only when the terminated signal becomes true.

    Runs the server as a Stream that emits only when the terminated signal becomes true. Useful for servers with associated lifetime behaviors.

  7. def stream: Stream[F, Server]

    Returns the backend as a single-element stream.

    Returns the backend as a single-element stream. The stream does not emit until the backend is ready to process requests. The backend is shut down when the stream is finalized.

    Definition Classes
    BackendBuilder
  8. final def withoutBanner: Self

    Disable the banner when the server starts up