summaryrefslogtreecommitdiff
path: root/cask/src/cask/main
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-07-25 16:43:58 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-07-25 16:43:58 +0800
commit62a140e340891c3b22fd9d457c8e48fc91e25020 (patch)
tree4648d07286e6c8151fc00bdaaaf428cb2e354b48 /cask/src/cask/main
parentc4476471f4ff4b38c518b5478996bc178a129e6b (diff)
downloadcask-62a140e340891c3b22fd9d457c8e48fc91e25020.tar.gz
cask-62a140e340891c3b22fd9d457c8e48fc91e25020.tar.bz2
cask-62a140e340891c3b22fd9d457c8e48fc91e25020.zip
Extract out `model.ParamContext`
Diffstat (limited to 'cask/src/cask/main')
-rw-r--r--cask/src/cask/main/Main.scala8
-rw-r--r--cask/src/cask/main/Routes.scala5
2 files changed, 8 insertions, 5 deletions
diff --git a/cask/src/cask/main/Main.scala b/cask/src/cask/main/Main.scala
index 77bac94..28c7770 100644
--- a/cask/src/cask/main/Main.scala
+++ b/cask/src/cask/main/Main.scala
@@ -1,6 +1,6 @@
package cask.main
-import cask.model.{BaseResponse, Response, Status}
+import cask.model.{BaseResponse, ParamContext, Response, Status}
import cask.Cookie
import cask.internal.Router.EntryPoint
import cask.internal.{DispatchTrie, Router, Util}
@@ -54,8 +54,10 @@ abstract class BaseMain{
case None => writeResponse(exchange, handleError(404))
case Some(((routes, metadata), bindings, remaining)) =>
val result = metadata.metadata.handle(
- exchange, remaining, bindings, routes,
- metadata.entryPoint.asInstanceOf[EntryPoint[metadata.metadata.InputType, cask.main.Routes, (HttpServerExchange, Seq[String])]]
+ ParamContext(exchange, remaining), bindings, routes,
+ metadata.entryPoint.asInstanceOf[
+ EntryPoint[metadata.metadata.InputType, cask.main.Routes, cask.model.ParamContext]
+ ]
)
result match{
diff --git a/cask/src/cask/main/Routes.scala b/cask/src/cask/main/Routes.scala
index fdd39bd..d3c060b 100644
--- a/cask/src/cask/main/Routes.scala
+++ b/cask/src/cask/main/Routes.scala
@@ -2,6 +2,7 @@ package cask.main
import cask.endpoints.Endpoint
import cask.internal.Router.EntryPoint
+import cask.model.ParamContext
import io.undertow.server.HttpServerExchange
import scala.reflect.macros.blackbox.Context
@@ -9,7 +10,7 @@ import language.experimental.macros
object Routes{
case class EndpointMetadata[T](metadata: Endpoint[_],
- entryPoint: EntryPoint[_, T, (HttpServerExchange, Seq[String])])
+ entryPoint: EntryPoint[_, T, ParamContext])
case class RoutesEndpointsMetadata[T](value: EndpointMetadata[T]*)
object RoutesEndpointsMetadata{
implicit def initialize[T] = macro initializeImpl[T]
@@ -27,7 +28,7 @@ object Routes{
m.asInstanceOf[MethodSymbol],
weakTypeOf[T],
(t: router.c.universe.Tree) => q"$annotObjectSym.wrapMethodOutput($t)",
- c.weakTypeOf[(io.undertow.server.HttpServerExchange, Seq[String])],
+ c.weakTypeOf[ParamContext],
q"$annotObjectSym.parseMethodInput",
tq"$annotObjectSym.InputType"
)