Packages

sealed class TomcatBuilder[F[_]] extends ServletContainer[F] with ServerBuilder[F]

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

Type Members

  1. type Self = TomcatBuilder[F]
    Definition Classes
    TomcatBuilderServletContainerServerBuilder

Value Members

  1. def allocated: F[(Server[F], 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
    Definition Classes
    ServerBuilder
  3. final def bindHttp(port: Int = defaults.HttpPort, host: String = defaults.IPv4Host): Self
    Definition Classes
    ServerBuilder
  4. final def bindLocal(port: Int): Self
    Definition Classes
    ServerBuilder
  5. def bindSocketAddress(socketAddress: InetSocketAddress): Self
    Definition Classes
    TomcatBuilderServerBuilder
  6. def mountFilter(filter: Filter, urlMapping: String, name: Option[String], dispatches: EnumSet[DispatcherType]): Self

    Mounts a filter to the server.

    Mounts a filter to the server.

    The http4s way is to create a middleware around an HttpRoutes, which runs not just on servlet containers, but all supported backends. This method is good for legacy scenarios, or for reusing parts of the servlet ecosystem for an app that is committed to running on a servlet container.

    Definition Classes
    TomcatBuilderServletContainer
  7. def mountHttpApp(service: HttpApp[F], prefix: String): Self
  8. def mountService(service: HttpRoutes[F], prefix: String): Self
  9. def mountServlet(servlet: HttpServlet, urlMapping: String, name: Option[String] = None): Self

    Mounts a servlet to the server.

    Mounts a servlet to the server.

    The http4s way is to create HttpRoutes, which runs not just on servlet containers, but all supported backends. This method is good for legacy scenarios, or for reusing parts of the servlet ecosystem for an app that is committed to running on a servlet container.

    Definition Classes
    TomcatBuilderServletContainer
  10. def resource: Resource[F, Server[F]]

    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
    TomcatBuilderServerBuilder → BackendBuilder
  11. 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.

    Definition Classes
    ServerBuilder
  12. 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.

    Definition Classes
    ServerBuilder
  13. def stream: Stream[F, Server[F]]

    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
  14. def withAsyncTimeout(asyncTimeout: Duration): Self
  15. 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

    Definition Classes
    TomcatBuilderServerBuilder
  16. def withClassloader(classloader: ClassLoader): Self
  17. def withExternalExecutor(executor: Executor): TomcatBuilder[F]

    Replace the protocol handler's internal executor with a custom, external executor

  18. def withIdleTimeout(idleTimeout: Duration): Self
  19. def withInternalExecutor: TomcatBuilder[F]

    Use Tomcat's internal executor

  20. def withSSL(keyStore: StoreInfo, keyManagerPassword: String, protocol: String = "TLS", trustStore: Option[StoreInfo] = None, clientAuth: SSLClientAuthMode = SSLClientAuthMode.NotRequested): Self
  21. def withServiceErrorHandler(serviceErrorHandler: ServiceErrorHandler[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.

    Definition Classes
    TomcatBuilderServerBuilder
  22. def withServletIo(servletIo: ServletIo[F]): Self

    Sets the servlet I/O mode for reads and writes within the servlet.

    Sets the servlet I/O mode for reads and writes within the servlet. Not to be confused with the server connectors.

    Definition Classes
    TomcatBuilderServletContainer
    See also

    org.http4s.servlet.ServletIo

  23. final def withoutBanner: Self

    Disable the banner when the server starts up

    Disable the banner when the server starts up

    Definition Classes
    ServerBuilder
  24. def withoutSsl: Self