ServerBuilder

trait ServerBuilder[F[_]] extends BackendBuilder[F, Server]
trait BackendBuilder[F, Server]
class Object
trait Matchable
class Any

Type members

Types

type Self <: ServerBuilder[F]

Value members

Abstract methods

def bindSocketAddress(socketAddress: InetSocketAddress): Self
def resource: Resource[F, Server]

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

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

def withBanner(banner: Seq[String]): Self

Set the banner to display when the server starts up

Set the banner to display when the server starts up

def withServiceErrorHandler(serviceErrorHandler: Request[F] => PartialFunction[Throwable, F[Response[F]]]): Self

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.

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 methods

final def bindAny(host: String): Self
final def bindHttp(port: Int, host: String): Self
final def bindLocal(port: Int): Self
final def serve: Stream[F, ExitCode]

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

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

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. Useful for servers with associated lifetime behaviors.

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

final def withoutBanner: Self

Disable the banner when the server starts up

Disable the banner when the server starts up

Inherited methods

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

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.

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.

Inherited from
BackendBuilder
def stream: Stream[F, Server]

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.

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.

Inherited from
BackendBuilder

Implicits

Implicits

implicit protected def F: Concurrent[F]