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.scala16
1 files changed, 8 insertions, 8 deletions
diff --git a/cask/src/cask/endpoints/WebEndpoints.scala b/cask/src/cask/endpoints/WebEndpoints.scala
index 41c3113..02aeec4 100644
--- a/cask/src/cask/endpoints/WebEndpoints.scala
+++ b/cask/src/cask/endpoints/WebEndpoints.scala
@@ -2,7 +2,7 @@ package cask.endpoints
import cask.internal.Router
import cask.main.{Endpoint, HttpDecorator}
-import cask.model.{ParamContext, Response}
+import cask.model.{Request, Response}
import collection.JavaConverters._
@@ -11,7 +11,7 @@ trait WebEndpoint extends Endpoint with HttpDecorator{
type Output = Response
type Input = Seq[String]
type InputParser[T] = QueryParamReader[T]
- def wrapFunction(ctx: ParamContext,
+ def wrapFunction(ctx: Request,
delegate: Map[String, Input] => Router.Result[Output]): Router.Result[Response] = {
delegate(
ctx.exchange.getQueryParameters
@@ -34,14 +34,14 @@ class put(val path: String, override val subpath: Boolean = false) extends WebEn
class route(val path: String, val methods: Seq[String], override val subpath: Boolean = false) extends WebEndpoint
abstract class QueryParamReader[T]
- extends Router.ArgReader[Seq[String], T, cask.model.ParamContext]{
+ extends Router.ArgReader[Seq[String], T, cask.model.Request]{
def arity: Int
- def read(ctx: cask.model.ParamContext, label: String, v: Seq[String]): T
+ def read(ctx: cask.model.Request, label: String, v: Seq[String]): T
}
object QueryParamReader{
class SimpleParam[T](f: String => T) extends QueryParamReader[T]{
def arity = 1
- def read(ctx: cask.model.ParamContext, label: String, v: Seq[String]): T = f(v.head)
+ def read(ctx: cask.model.Request, label: String, v: Seq[String]): T = f(v.head)
}
implicit object StringParam extends SimpleParam[String](x => x)
@@ -54,20 +54,20 @@ object QueryParamReader{
implicit object FloatParam extends SimpleParam[Float](_.toFloat)
implicit def SeqParam[T: QueryParamReader] = new QueryParamReader[Seq[T]]{
def arity = 1
- def read(ctx: cask.model.ParamContext, label: String, v: Seq[String]): Seq[T] = {
+ def read(ctx: cask.model.Request, label: String, v: Seq[String]): Seq[T] = {
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] = {
+ def read(ctx: cask.model.Request, 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
- override def read(ctx: cask.model.ParamContext, label: String, v: Seq[String]) = {
+ override def read(ctx: cask.model.Request, label: String, v: Seq[String]) = {
implicitly[ParamReader[T]].read(ctx, label, v)
}
}