EntityEncoder

Companion
class
class Object
trait Matchable
class Any

Type members

Classlikes

object Pure

Types

type Pure[A] = EntityEncoder[Pure, A]

Value members

Concrete methods

def apply[F[_], A](implicit ev: EntityEncoder[F, A]): EntityEncoder[F, A]

summon an implicit EntityEncoder

summon an implicit EntityEncoder

def emptyEncoder[A]: Pure[A]
def encodeBy[F[_], A](hs: Headers)(f: A => Entity[F]): EntityEncoder[F, A]

Create a new EntityEncoder

Create a new EntityEncoder

def encodeBy[F[_], A](hs: ToRaw*)(f: A => Entity[F]): EntityEncoder[F, A]

Create a new EntityEncoder

Create a new EntityEncoder

def showEncoder[A](implicit charset: Charset, show: Show[A]): Pure[A]

Encodes a value from its Show instance. Too broad to be implicit, too useful to not exist.

Encodes a value from its Show instance. Too broad to be implicit, too useful to not exist.

def simple[A](hs: ToRaw*)(toChunk: A => Chunk[Byte]): Pure[A]

Create a new EntityEncoder

Create a new EntityEncoder

This constructor is a helper for types that can be serialized synchronously, for example a String.

Implicits

Implicits

implicit
val byteArrayEncoder: Pure[Array[Byte]]
implicit
def charArrayEncoder(implicit charset: Charset): Pure[Array[Char]]
implicit
val chunkEncoder: Pure[Chunk[Byte]]
implicit

Encodes an entity body. Chunking of the stream is preserved. A Transfer-Encoding: chunked header is set, as we cannot know the content length without running the stream.

Encodes an entity body. Chunking of the stream is preserved. A Transfer-Encoding: chunked header is set, as we cannot know the content length without running the stream.

implicit
def entityEncoderContravariant[F[_]]: Contravariant[[_] =>> EntityEncoder[F, _$15]]
implicit
def inputStreamEncoder[F[_] : Sync, IS <: InputStream]: EntityEncoder[F, F[IS]]
implicit
implicit
def pathEncoder[F[_] : Files]: EntityEncoder[F, Path]
implicit
def readerEncoder[F[_], R <: Reader](implicit F: Sync[F], charset: Charset): EntityEncoder[F, F[R]]
implicit
def streamEncoder[F[_], A](implicit W: EntityEncoder[F, A]): EntityEncoder[F, Stream[F, A]]

A stream encoder is intended for streaming, and does not calculate its bodies in advance. As such, it does not calculate the Content-Length in advance. This is for use with chunked transfer encoding.

A stream encoder is intended for streaming, and does not calculate its bodies in advance. As such, it does not calculate the Content-Length in advance. This is for use with chunked transfer encoding.

implicit
def stringEncoder(implicit charset: Charset): Pure[String]
implicit
val unitEncoder: Pure[Unit]