org.http4s.servlet

Type members

Classlikes

class AsyncHttp4sServlet[F[_]](service: HttpApp[F], asyncTimeout: Duration, servletIo: ServletIo[F], serviceErrorHandler: () => F, dispatcher: Dispatcher[F])(implicit F: Async[F]) extends Http4sServlet[F]
Companion
object
Companion
class
class BlockingHttp4sServlet[F[_]](service: HttpApp[F], servletIo: ServletIo[F], serviceErrorHandler: () => F, dispatcher: Dispatcher[F])(implicit F: Async[F]) extends Http4sServlet[F]
Companion
object
final case class BlockingServletIo[F[_]](chunkSize: Int)(implicit evidence$2: Async[F]) extends ServletIo[F]

Use standard blocking reads and writes.

Use standard blocking reads and writes.

This is more CPU efficient per request than NonBlockingServletIo, but is likely to require a larger request thread pool for the same load.

trait DefaultFilter extends Filter

Mainly a convenience for our servlet examples, but, hey, why not.

Mainly a convenience for our servlet examples, but, hey, why not.

abstract class Http4sServlet[F[_]](service: HttpApp[F], servletIo: ServletIo[F], dispatcher: Dispatcher[F])(implicit F: Async[F]) extends HttpServlet
final case class NonBlockingServletIo[F[_]](chunkSize: Int)(implicit evidence$3: Async[F]) extends ServletIo[F]

Use non-blocking reads and writes. Available only on containers that support Servlet 3.1.

Use non-blocking reads and writes. Available only on containers that support Servlet 3.1.

This can support more concurrent connections on a smaller request thread pool than BlockingServletIo, but consumes more CPU per request. It is also known to cause IllegalStateExceptions in the logs under high load up through at least Tomcat 8.0.15. These appear to be harmless, but are operationally annoying.

final case class ServletApiVersion(major: Int, minor: Int) extends Ordered[ServletApiVersion]
Companion
object
Companion
class
abstract class ServletContainer[F[_]] extends ServerBuilder[F]
Companion
object
Companion
class
sealed abstract class ServletIo[F[_]]

Determines the mode of I/O used for reading request bodies and writing response bodies.

Determines the mode of I/O used for reading request bodies and writing response bodies.