summaryrefslogtreecommitdiff
path: root/cask/src/cask/endpoints/WebEndpoints.scala
diff options
context:
space:
mode:
Diffstat (limited to 'cask/src/cask/endpoints/WebEndpoints.scala')
-rw-r--r--cask/src/cask/endpoints/WebEndpoints.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/cask/src/cask/endpoints/WebEndpoints.scala b/cask/src/cask/endpoints/WebEndpoints.scala
index 70d16e0..2125b4d 100644
--- a/cask/src/cask/endpoints/WebEndpoints.scala
+++ b/cask/src/cask/endpoints/WebEndpoints.scala
@@ -58,6 +58,12 @@ object QueryParamReader{
v.map(x => implicitly[QueryParamReader[T]].read(ctx, label, Seq(x)))
}
}
+ implicit def OptionParam[T: QueryParamReader] = new QueryParamReader[Option[T]]{
+ def arity = 1
+ def read(ctx: cask.model.ParamContext, label: String, v: Seq[String]): Option[T] = {
+ v.headOption.map(x => implicitly[QueryParamReader[T]].read(ctx, label, Seq(x)))
+ }
+ }
implicit def paramReader[T: ParamReader] = new QueryParamReader[T] {
override def arity = 0