Interface LowerPriorityGenericUnmarshallers

    • Method Detail

      • liftToSourceOptionUnmarshaller

        <A,​B> Unmarshaller<scala.Option<A>,​B> liftToSourceOptionUnmarshaller​(Unmarshaller<A,​B> um)
      • sourceOptionUnmarshaller

        <A,​B> Unmarshaller<scala.Option<A>,​B> sourceOptionUnmarshaller​(Unmarshaller<A,​B> um)
      • eitherUnmarshaller

        <L,​R> Unmarshaller<HttpEntity,​scala.util.Either<L,​R>> eitherUnmarshaller​(Unmarshaller<HttpEntity,​L> ua,
                                                                                                   scala.reflect.ClassTag<R> rightTag,
                                                                                                   Unmarshaller<HttpEntity,​R> ub,
                                                                                                   scala.reflect.ClassTag<L> leftTag)
        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).

        Parameters:
        ua - (undocumented)
        rightTag - (undocumented)
        ub - (undocumented)
        leftTag - (undocumented)
        Returns:
        (undocumented)