LowerPriorityGenericUnmarshallers

org.apache.pekko.http.scaladsl.unmarshalling.LowerPriorityGenericUnmarshallers

Attributes

Source
GenericUnmarshallers.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Implicits

Implicits

implicit def eitherUnmarshaller[L, R](implicit ua: FromEntityUnmarshaller[L], rightTag: ClassTag[R], ub: FromEntityUnmarshaller[R], leftTag: ClassTag[L]): FromEntityUnmarshaller[Either[L, R]]

Enables using Either to encode the following unmarshalling logic: Attempt unmarshalling the entity as as R first (yielding R), and if it fails attempt unmarshalling as L (yielding Left).

Enables using Either to encode the following unmarshalling logic: Attempt unmarshalling the entity as as R first (yielding R), and if it fails attempt unmarshalling as L (yielding Left).

The either unmarshaller only works with strict entities, so make sure to wrap routes that want to use it with toStrictEntity. Otherwise, if a non-strict entity is provided, it will fail with an IllegalArgumentException.

Note that the Either's "R" type will be attempted first (as Left is often considered as the "failed case" in Either).

Attributes

Source
GenericUnmarshallers.scala
implicit def liftToSourceOptionUnmarshaller[A, B](um: Unmarshaller[A, B]): Unmarshaller[Option[A], B]

Attributes

Source
GenericUnmarshallers.scala
implicit def sourceOptionUnmarshaller[A, B](implicit um: Unmarshaller[A, B]): Unmarshaller[Option[A], B]

Attributes

Source
GenericUnmarshallers.scala