OptionalValidatingQueryParamDecoderMatcher

org.http4s.dsl.impl.OptionalValidatingQueryParamDecoderMatcher

param extractor using org.http4s.QueryParamDecoder. Note that this will always match, but will return an Option possibly containing the result of the conversion to T

case class Foo(i: Int)
implicit val fooDecoder: QueryParamDecoder[Foo] = ...

case class Bar(i: Int)
implicit val barDecoder: QueryParamDecoder[Bar] = ...

object FooMatcher extends ValidatingQueryParamDecoderMatcher[Foo]("foo")
object BarMatcher extends OptionalValidatingQueryParamDecoderMatcher[Bar]("bar")

val routes = HttpRoutes.of {
  case GET -> Root / "closest" :? FooMatcher(fooValue) +& BarMatcher(barValue) =>
    ^(fooValue, barValue getOrElse 42.right) { (foo, bar) =>
      ...
    }.fold(
      nelE => BadRequest(nelE.toList.map(_.sanitized).mkString("\n")),
      baz  => { ... }
    )

Attributes

Source
Path.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods