org.http4s.servlet

Members list

Packages

Type members

Classlikes

class AsyncHttp4sServlet[F[_]](httpApp: HttpApp[F], asyncTimeout: Duration, servletIo: ServletIo[F], serviceErrorHandler: () => F, dispatcher: Dispatcher[F])(implicit F: Async[F]) extends Http4sServlet[F]

Attributes

Companion
object
Source
AsyncHttp4sServlet.scala
Supertypes
class Http4sServlet[F]
class HttpServlet
class GenericServlet
trait Serializable
trait ServletConfig
trait Servlet
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Source
AsyncHttp4sServlet.scala
Supertypes
class Object
trait Matchable
class Any
Self type
class BlockingHttp4sServlet[F[_]] extends Http4sServlet[F]

Attributes

Companion
object
Source
BlockingHttp4sServlet.scala
Supertypes
class Http4sServlet[F]
class HttpServlet
class GenericServlet
trait Serializable
trait ServletConfig
trait Servlet
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Source
BlockingHttp4sServlet.scala
Supertypes
class Object
trait Matchable
class Any
Self type
final case class BlockingServletIo[F[_]](chunkSize: Int)(implicit F: Sync[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.

Attributes

Source
ServletIo.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait ServletIo[F]
class Object
trait Matchable
class Any
Show all
abstract class Http4sServlet[F[_]](service: HttpApp[F], servletIo: ServletIo[F], dispatcher: Dispatcher[F])(implicit F: Sync[F]) extends HttpServlet

Attributes

Source
Http4sServlet.scala
Supertypes
class HttpServlet
class GenericServlet
trait Serializable
trait ServletConfig
trait Servlet
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class NonBlockingServletIo[F[_]](chunkSize: Int)(implicit F: 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.

Attributes

Source
ServletIo.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait ServletIo[F]
class Object
trait Matchable
class Any
Show all
final case class ServletApiVersion(major: Int, minor: Int) extends Ordered[ServletApiVersion]

Attributes

Companion
object
Source
ServletApiVersion.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait Comparable[ServletApiVersion]
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Source
ServletApiVersion.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
abstract class ServletContainer[F[_]] extends ServerBuilder[F]

Attributes

Companion
object
Source
ServletContainer.scala
Supertypes
trait ServerBuilder[F]
class Object
trait Matchable
class Any

Attributes

Companion
class
Source
ServletContainer.scala
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait 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.

Attributes

Source
ServletIo.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes