EntityDecoder

@implicitNotFound("Cannot decode into a value of type ${T}, because no EntityDecoder[${F}, ${T}] instance could be found.") trait EntityDecoder[F[_], T]

A type that can be used to decode a Message EntityDecoder is used to attempt to decode a Message returning the entire resulting A. If an error occurs it will result in a failed effect. The default decoders provided here are not streaming, but one could implement a streaming decoder by having the value of A be some kind of streaming construct.

Type Params
T

result type produced by the decoder

Companion
object
class Object
trait Matchable
class Any

Value members

Abstract methods

def consumes: Set[MediaRange]

The MediaRanges this EntityDecoder knows how to handle

The MediaRanges this EntityDecoder knows how to handle

def decode(m: Media[F], strict: Boolean): DecodeResult[F, T]

Attempt to decode the body of the Message

Attempt to decode the body of the Message

Concrete methods

def biflatMap[T2](f: DecodeFailure => DecodeResult[F, T2], s: T => DecodeResult[F, T2])(implicit F: Monad[F]): EntityDecoder[F, T2]
def bimap[T2](f: DecodeFailure => DecodeFailure, s: T => T2)(implicit F: Functor[F]): EntityDecoder[F, T2]
def flatMapR[T2](f: T => DecodeResult[F, T2])(implicit F: Monad[F]): EntityDecoder[F, T2]
def handleError(f: DecodeFailure => T)(implicit F: Functor[F]): EntityDecoder[F, T]
def handleErrorWith(f: DecodeFailure => DecodeResult[F, T])(implicit F: Monad[F]): EntityDecoder[F, T]
def map[T2](f: T => T2)(implicit F: Functor[F]): EntityDecoder[F, T2]

Make a new EntityDecoder by mapping the output result

Make a new EntityDecoder by mapping the output result

def matchesMediaType(mediaType: MediaType): Boolean

true if this EntityDecoder knows how to decode the provided MediaType

true if this EntityDecoder knows how to decode the provided MediaType

def orElse[T2 >: T](other: EntityDecoder[F, T2])(implicit F: Functor[F]): EntityDecoder[F, T2]

Combine two EntityDecoder's

Combine two EntityDecoder's

The new EntityDecoder will first attempt to determine if it can perform the decode, and if not, defer to the second EntityDecoder

Value Params
other

backup EntityDecoder

def transform[T2](t: Either[DecodeFailure, T] => Either[DecodeFailure, T2])(implicit F: Functor[F]): EntityDecoder[F, T2]
def transformWith[T2](f: Either[DecodeFailure, T] => DecodeResult[F, T2])(implicit F: Monad[F]): EntityDecoder[F, T2]
def widen[T2 >: T]: EntityDecoder[F, T2]